自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xbl的博客

不积跬步,无以至千里

  • 博客(49)
  • 资源 (5)
  • 收藏
  • 关注

原创 【JAVA】Springboot集成Proguard完成jar包混淆

​Proguard混淆源码的作用在于能够在不影响服务能力的前提下紊乱jar包内的源码,能够极大的降低代码可读性。对于研发而言,反编译后使用的成本过高,还不如直接自己重新写,所以它其实也算是满足了代码安全性的要求。本文章能够提供最为直接的配置,降低研发人员的学习成本。​

2024-03-22 17:27:48 575 1

原创 【前端工具】使用Echats生成关系图谱,可展开折叠

根据服务关系制作关系图谱,echarts官方关系图没有想要的案例,网上也没有好的效果,故参考网上已有的部分案例,自行写了一个,效果还不错。2、点击路径,可展开详细信息。1、默认展示查询到的所有路径列表。

2023-06-27 16:33:21 2130 1

原创 【前端】解决Bootstrap3与Bootstrap4同时使用的CSS冲突问题

解决Bootstrap3与Bootstrap4同时使用的CSS冲突问题

2022-07-01 17:28:51 1250

原创 【Zuul2】网关Zuul控制台DashBoard

目录一、需求背景二、实现方案一、源码获取二、源码分析三、效果展示三、相关问题一、需求背景用JAVA为开发语言的流控网关主要分为以下三种:Netflix Zuul/Zuul2 Spring Cloud GateWay Alibaba Sentinel从定位上来看,Zuul2与SpringCloudGateway其实比较接近,而Sentinel属于另外一种产品了。Sentinel是一个强大的产品,它提供的流量管理策略多于另外两位,但它存在一个统一网关无法接受的问题:

2022-04-18 18:18:24 1132

原创 【JAVA】Gitlab上Log4j2漏洞项目批量查找,依赖检索

目录一、概述二、具体实现1.产出依赖结果树(1)gitlab项目信息获取(2)分析pom.xml文件(3)执行依赖分析,生成依赖结果Tree2.解析依赖结果树三、附言一、概述前几天,Apache Log4j2 爆出远程代码执行漏洞,攻击者可利用该漏洞构造特殊的数据请求包,最终触发远程代码执行,对于JAVA项目来说,Log4j几乎是必备的组件,漏洞的爆出直接覆盖了一大堆java项目。首先需要找出哪些项目可能会被本漏洞影响,才能完成漏洞修复,这便是个比较麻烦的问题,.

2021-12-14 10:34:06 6221 4

原创 【InfluxDB V2.0】时区问题引起数据丢失解决方案

目录一、问题点二、解决方案方案一方案二一、问题点influxdb V2作为一个比较新的产品,其实是存在较多的问题的,今天来讲一下时区问题,以及对应的解决方案。influxdb从v1到v2的升级过程中抛弃了influxQL的类似sql语法,完全使用自制的查询方式,称为"flux"。v1版本的influxdb flux是跟着版本走的,最新的版本使用最新的flux语法,而v2版本的influxdb所支持的flux语句并不是最新的,功能并不是完整的。截至2021年9月27日发布的

2021-11-15 11:07:05 9944 6

原创 【JAVA】YML转Properties工具类

目录一、题述二、源码一、题述博主需要在java代码中将yml转成properties格式的map,但是在网上找了一圈,没找到一个稍微好点的轮子,于是自己写个工具类二、源码实现思路:先转json,再将json转map,多层json使用"."做拼接需要构建maven依赖包: <dependency> <groupId>com.alibaba</groupId> <artifactId&g

2021-10-27 19:10:01 8386

原创 【运维研发】DevOps、DevSecOps 工具链

目录一、DevOps工具链二、DevSecOps工具链一、DevOps工具链开发和运维合作,通过自动化软件交付和架构变更,使得构建、测试、发布软件能够更加地快捷、频繁和可靠。链图工具结构:内部协作、构建交付物、自动化测试、持续部署、服务运行到基础设施二、DevSecOps工具链在DevOps进行时,将安全防护融入应用的整个生命周期中,从代码预检、安全验收、功能测试、深度扫描、密钥侦察、线上故障模拟等方式来确保应用安全性。ps:图取自谷歌...

2021-09-28 16:21:37 8305

原创 【Influxdb V2.0】数据备份文件占用过多磁盘,问题排查及解决

一、问题描述发现测试环境与生产环境中,Influxdb每日本地备份的数据文件磁盘占用大小差距过大。这是生产环境当前的数据备份:这是测试环境当前的数据备份:生产环境数据量远远多余测试环境,但生产环境上日备份的数据仅需要100k左右,而测试环境日备份的数据竟然需要400M左右。在谷歌进行搜索,由于2.0版本最近才发布,用户量比较少,所以基本上找不到相关的问题,故自行对其排查了一番。二、问题排查三、问题解决...

2021-09-27 16:55:38 8209

原创 【InfluxDB V2.0】单表、跨表聚合Flux查询

一、单表数据Fluxfrom(bucket: "bucket2") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "huawei-price-instance") |> filter(fn: (r) => r["_field"] == "price") |> aggregateWindow(ever

2021-08-06 15:36:49 13747 2

原创 【InfluxDB V2.0】介绍与使用,flux查询、数据可视化

目录一、关键概念二、系统结构三、配置文件四、Flux查询语句附录一、关键概念相比V1 移除了database 和 RP,具有以下几个概念:timestamp、field key、field value、field set、tag key、tag value、tag set、measurement、series、point、bucket、bucket schema、organization新增的概念:bucket:所有 InfluxDB 数据都存储在一个存储桶中。一个桶

2021-07-23 15:03:58 37596 24

原创 【InfluxDB V1.8】介绍与使用分析,性能对比Mysql

目录一、简单介绍二、相关概念三、存储引擎 - TSM Tree四、数据查询与索引结构五、问题描述附录一、简单介绍InfluxDB 是用Go语言编写的一个用于存储和分析时间序列数据的开源数据库,无需外部依赖。优点:专为时间序列数据编写的自定义高性能数据存储。 TSM引擎允许高摄取速度和数据压缩 完全用 Go 语言编写。 它编译成单个二进制文件,没有外部依赖项 简单,高性能的写入和查询HTTP API 专为类似SQL的查询语言量身定制,可轻松查询聚合数据 标签..

2021-07-20 17:28:37 13664

原创 【Grafana】Grafana集成Echart,基于插件实现自定义数据源+自定义图表

目录一、简述二、使用插件案例三、获取Echart代码,集成Grafana四、附录一、简述grafana提供时序数据展示,默认提供的模板可能无法满足需求,比如我目前需要一个双层饼图,grafana智能提供最为基础的 PIE chart,而grafana提供了插件开发的功能,故可以把echart相关图表集成到grafana中获取满足自己需求的图表。产出结果示例:二、使用插件案例案例集成:数据源:时序数据库Influxdb (可自由调整,都可以兼容,比如Prome.

2021-07-15 17:47:01 20762 1

原创 【消息队列】开源消息队列与云消息队列调研

目录开源队列产品对比云队列产品对比调研总结1.针对自建队列产品:2.针对云队列产品:3.综合考虑:开源队列产品对比队列名称 ActiveMQ RabbitMQ RocketMQ Kafka 定位 非日志的可靠消息传输 非日志的可靠消息传输 非日志的可靠消息传输 系统间的数据量管道 队列模式 √ √ √ √ 订阅模式 √ √ √ √ 回复模式 √ √

2021-04-01 14:33:48 9163

原创 【Edda】Netflix云资源服务追踪调研报告

目录介绍架构信息源码结构图核心模块关键内容RestFul矩阵参数总结及思考edda源码树及描述edda介绍Edda是一项Netflix开发的用于云资源追踪的开源服务,可通过AWS API轮询您的AWS资源并记录结果。它使您可以快速搜索资源,并显示资源随着时间的变化。edda架构信息Edda是一个Scala应用程序,可以在单个实例上运行,也可以扩展到负载均衡器后面运行的许多实例,以实现高可用性。Edda当前支持的数据存储是MongoDB,它也具有足够的通用性.

2021-01-28 18:26:32 8494 2

原创 【JAVA】记一次典型jvm内存泄漏

一、问题概述在持续十分钟的压力测试中,单机QPS从8000陆续降低至3000的过程中发现的内存泄漏。先看一下压测计算的数据:首先是被压测的机器:机器配置:4核8G 单机预计QPS:8000左右,不超过9000 平均响应时间:12~13ms发起压测的执行机:设置单机并发数:60 执行机数量:2台由此可以计算出进行压测的QPS数据:平均响应时间为12ms,单机60的并发数,则单机的最高QPS为 60/0.012 = 5000 左右设置持续上涨4分钟,达到峰值,则可得出:

2020-08-19 18:36:41 8444

原创 【IDEA】一键处理idea各种红黄下划线、波浪线警告。

一、原因idea是一款非常好用的IDE产品,但刚开始使用它时也会有一些烦恼。最明显的就是各种各样的红线,下划线,明明我知道自己并不关心这个警告,但它还是会以各色的方式标注出来,错乱开发者的视野。当然,它肯定提供了各式各样的配置让开发者去慢慢整理这些不关心的警告,但它需要配置的东西实在太繁琐了。网上提供了很多配置方法及其描述,但也得一条一条去配置,在这里我分享一下我自己配置好的setting文件,直接导入idea即可。二、配置方式开箱即用,直接import即可这项配置主要是

2020-07-03 09:41:18 4574

原创 【持续集成】Jenkins集成阿里云OSS建立交付仓库

目录一、方案介绍1、痛点分析2、仓库选取二、操作流程1、安装说明2、配置说明3、上传方式一:Post-build actions4、上传方式二:Pipeline5、说明一、方案介绍1、痛点分析目前,部分Jenkins项目构建的流程是这样的:Jenkins构建完相应项目后,会产生对应的软件包,如JAVA项目的jar包。 构建完的软件包会被移动到当前服务器上的指定目录下。 其他流程需要对应软件包时,会通过访问Jenkins所在服务器的具体目录来获取指定软件

2020-06-23 11:22:39 11279 2

原创 【内网穿透】zerotier构建局域网,闲置电脑充当高性能服务器。

一、有何作用?概述:使用zerotier构建局域网,能在无公网ip的情况下,将各台服务器连接到一起,没有网速和带宽的限制。使用场景:windows虚拟机上linux系统连接各种服务器(物理机或云机器) windows连接linux机器我的应用场景:高配置的云机器太过于昂贵了,于是我用自己闲置的笔记本搭建了虚拟机安装了centos系统。 我目前虚拟机的内存配置的是12G,能装上各种应用以满足我的工作需求。 除此之外,它还没有云上机器的各种限制,也没有带宽限制,文件的上传和下载都是基于网

2020-06-17 10:13:44 2521

原创 【Linux】linux下服务器的监控(grafana+prometheus)

目录一、使用缘由二、配置流程1.下载安装grafana2.下载安装prometheus3.grafana集成prometheus三、参考文档一、使用缘由目的:通过监控观察压测结果,根据各项数据尝试调整各项参数完成单机调优,主要关注内存、cpu等数据。目前,自动化构建+压测是这么一个过程:项目(java案例)提交时通过webhook执行jenkins构建...

2020-03-30 11:56:45 11609

原创 【Jmeter】linux下Jmeter分布式压测

一、使用缘由概述:通过压测,熟悉项目的各项指标,同时观察压测结果及监控数据,目的是根据各项数据尝试调整各项参数完成单机调优。刚开始自动化构建+压测是这么一个过程:项目(java案例)提交时通过webhook执行jenkins构建 jenkins构建完成后产生交付物到云仓库 服务器拉取交付物(jar包),部署启动环境,同时启动项目。 配置Jmeter分布式压测(多台机器同时发起请求...

2020-03-27 18:04:57 9981

原创 【Jenkins】Jenkins插件开发

目录一、本地搭建1.修改maven配置文件2.下载插件模板3.本地运行项目二、项目体系1.项目体系图2.项目代码描述三、开发扩展1.内部插件2.外部插件一、本地搭建描述:本地搭建插件开发项目的完整流程。搭建流程图:1.修改maven配置文件 <settings> <pluginGroups...

2020-03-11 09:26:36 2292 1

原创 【Zuul2】Zuul2网关介绍及案例(非spring集成)

目录一.使用缘由二.项目介绍1.核心内容(1)三种过滤器Inbound、Endpoint 、Outbound(2)配置文件application.properties(3)动态配置application.properties2.参考文档一.使用缘由公司需要在springcloudgate和zuul2间做一次较为完整的调研对比,选取其一作为满足我们需求的...

2020-02-27 11:09:40 7827 2

原创 【ZUUL2踩坑】题三:Ribbon被迫读取一个1.6G的配置文件

这种情况下,ServiceB无法提供服务,在Zuul中Ribbon将无法更新后端服务器列表,并且一直尝试去读取配置文件,而ServiceA是能够正常提供服务的。而下游的数据由于配置文件过大,它拿到的动态配置就是空,导致下游的listOfServers变为空,出现故障。Ribbon会不断的尝试加载配置文件,读到了乱码且很大的数据行时,它会读不下去,并且会不断占用资源,不断申请内存,出现OOM。Ribbon对于部分关键配置的读取是没有躺平策略的,获取不到动态配置时可能会将后端服务器列表全部下掉。

2023-04-13 18:25:34 194

原创 【ZUUL2踩坑】题二:Properties字符编码集操作不当,导致配置文件指数性膨胀

如果使用字节流FileInputStream读取properties文件,再使用字符流OutputStreamWriter写入properties文件,同时指定编码集为"utf-8"格式,而配置文件中properties刚好有中文value,就会出现一个很恐怖的问题:配置文件会呈指数型膨胀。JAVA中涉及到流的操作需要注意字符编码集的问题,特别是与Properties结合使用时,可能会触发配置文件的指数性膨胀。也就是说,随着动态配置文件的自动更新,大约更新了20~30次,四个汉字将会占用1~2G的空间。

2023-04-13 17:51:18 406

原创 【ZUUL2踩坑】题一:Ribbon集成动态properties存在的原生风险

但是像某些大的应用,配置文件会比较大,如果配置的更新比较频繁,则会有一定概率命中空档期,读取到的配置文件内容为空。我为了保证配置文件的写入顺序,对配置文件的key进行了排序操作(properties里面是个hashTable,数据是无序的),排序之后会影响写入性能,文件的空档期就会放大。而Properties在进行覆盖操作时,配置文件会存在空档期,因为在配置文件的store之前,需要将配置文件进行清空,再将新的配置写入配置文件,这是它的实现方式。

2023-04-13 17:26:23 404

原创 【JAVA】springcloud 动态加载外部配置到Bean,vault客户端最佳实践

【JAVA】springcloud 动态加载配置到Bean,vault客户端最佳实践

2023-02-09 18:03:45 849

转载 【程序人生】提问的智慧

目录声明简介在提问之前当你提问时慎选提问的论坛Stack Overflow网站和 IRC 论坛第二步,使用项目邮件列表使用有意义且描述明确的标题使问题容易回复用清晰、正确、精准且语法正确的语句使用易于读取且标准的文件格式发送问题精确地描述问题并言之有物话不在多而在精别动辄声称找到 Bug低声下气不能代替你的功课描述问题症状而非你的猜测按发生时间先后列出问题症状描述目标而不是过程别要求使用私人电邮回复清楚明确的表达你的问题以及需求询问有关代码的问题时别把自己家

2021-09-03 17:17:59 142

原创 【服务器部署系列-008】Linux 定时备份mysql数据文件到阿里云对象存储oss

目录一、检查并安装定时任务二、编写脚本定时备份三天内的mysql数据一、检查并安装定时任务1.查看是否有定时任务:service crond status如果不存在则安装定时任务:yum -y install vixie-cronyum -y install crontabs2.启动命令(可选的):service crond start3.停止命令(可选的):service crond stop4.重启命令(可选的):service cron

2021-08-31 11:37:12 8354

原创 【服务器部署系列-007】Linux Redis安装部署

目录一、下载及安装二、配置外网访问及接入supervisor一、下载及安装1.下载安装包wget https://download.redis.io/redis-stable.tar.gz2.文件解压缩tar -zxvf redis-stable.tar.gz3.部署到/usr/local下mv /usr/local/redis-stable /usr/local/rediscd /usr/local/redismakecd /usr/local/re.

2021-08-31 11:31:31 1960

原创 【服务器部署系列-006】Linux mysql服务部署

目录一、mysql安装二、远程访问设置、接入supervisor一、mysql安装1.选择服务安装至/usr/local下cd /usr/local2.下载文件wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz3.解压文件tar -xvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz4.重命名

2021-08-31 11:25:52 7771

原创 【服务器部署系列-005】Linux oss磁盘本地挂载,可实现文件匿名访问

目录一、内网挂载oss二、磁盘挂载收益描述一、内网挂载oss1.下载安装包wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm2.使用yum部署oss相关组件sudo yum install ossfs_1.80.6_centos7.0_x86_64.rpmsudo yum install --downloadonly --downloaddir=./ fuserpm -ql

2021-08-31 11:18:45 8494

原创 【服务器部署系列-004】Linux Nginx服务部署及接入supervisor

目录一、部署nginx及ssl二、nginx接入supervisor一、部署nginx及ssl1.部署到 /usr/local 下cd /usr/local2.下载nginx1.13.7wget http://nginx.org/download/nginx-1.13.7.tar.gz3.文件解压缩tar zxvf nginx-1.13.7.tar.gzmkdir -p /usr/local/nginx4.指定文件夹部署及接入SSL模块(若以后需要接入htt

2021-08-31 11:11:51 8373

原创 【服务器部署系列-003】Linux 部署supervisor守护进程

目录一、Centos安装Supervisor二、基本命令与java服务配置实例一、Centos安装Supervisorsudo yum install -y python-setuptoolssudo easy_install supervisor测试是否安装成功:echo_supervisord_conf创建配置文件:sudo su root #切换到root用户,不然提示无权限echo_supervisord_conf > /etc/superviso

2021-08-31 11:05:05 2256

原创 【服务器部署系列-002】Linux实现Centos免密登录及授权

目录一、centos用户实现免密登录二、禁用root用户及密钥登录,授sudo权限一、centos用户实现免密登录1.创建用户centossudo useradd centos2.进入centos根目录cd /home/centos3.创建文件夹.sshsudo mkdir .sshsudo chown centos:centos -R .ssh4.创建文件 authorized_keys,放入公钥vim .ssh/authorized_keys5

2021-08-31 10:59:18 8028

原创 【服务器部署系列-001】java环境部署

目录一、快速卸载open jdk二、手动部署安装包一、快速卸载open jdk安装java(快速,但不完整):yum -y install java-1.8.0-openjdk.x86_64卸载openjdk:rpm -qa|grep javarpm -e --nodepsjava-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64rpm -e --nodepsjava-1.8.0-openjdk-headless-1.8.0.29...

2021-08-31 10:56:02 2489

原创 【Java】CloseableHttpClient 单例压测与使用连接池减少平响

目录一、描述二、源码三、结论一、描述验证一下CloseableHttpClient 在单例模式下并发量上涨是否会产生未知的问题,同时使用连接池减少测试案例的响应时间二、源码import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.config.

2021-08-30 16:30:16 9996

原创 【JIRA】 JIRA 8.5.1 快速安装

目录一、下载安装jira8.5.1二、下载安装agent包三、获取license一、下载安装jira8.5.1进入目录 /usr/local,直接用wget下载,速度很快cd /usr/localwget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-8.5.1-x64.bin授权可执行sudo chmod +x /usr/local/..

2021-08-27 17:51:31 10650

原创 【Linux】centos sudo: java: command not found解决方案

一、解决方案1.使用sudo切换到root用户,使用root用户环境登录sudo su - root2.修改root用户系统变量vim .bashrc3.赋予sudo环境变量,设置别名alias sudo="sudo env PATH=$PATH"4.使其生效source .bashrc此后,便可以通过sudo命令使用root环境执行java命令二、原因分析查看sudo环境变量sudo printenv PATH使用root用户查看环境变量

2021-08-16 15:35:57 3883

原创 【Python】Linux Centos安装Python3.6,共存Python2.7

目录一、安装依赖二、下载Python3三、安装Python3四、部署Python3一、安装依赖yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel二、下载Python3wget https://www.python.org/ftp/py

2021-08-09 15:02:17 256 1

bilibala-echarts-panel-2.2.4.zip

grafana集成echart插件,自定义展示图表

2021-07-15

settings.zip

【idea】jetbrains公司产出IDE的通用配置文件 作用: 1.去掉各种冗余的红黄下划线等等 2.增加部分简单快捷键 3.开箱即用,导入即可

2020-07-03

【antd】蚂蚁金服前端框架antd pro点击气泡时报错解决方案:node.zip

【antd】蚂蚁金服前端框架antd pro点击气泡时报错时: 1.使用_NodeJS 14.4.0版本 2.下载node.zip并替换NodeJs文件夹中的node.exe

2020-06-30

archetype-catalog.xml

jenkins插件模板构建时 如果报错:Your filter doesn't match any archetype, so try again with another value 这是因为maven在本地仓库根目录archetype-catalog.xml文件中没找到groupId为io.jenkins.archetypes的archetype,之后会在远端仓库的该文件中查找,如果还是没找到则出现上述问题。 此时需要下载文件 archetype-catalog.xml放置到maven的仓库repository下面。

2020-03-11

年终总结模板

年终总结模板,可以在公司用来制作年终总结报告,文档物美价廉

2017-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除