当前位置: 首页 > news >正文

企业网站建设方案详细方案网站seo整站优化

企业网站建设方案详细方案,网站seo整站优化,上海疫情内鬼,wordpress 中文论坛插件背景 整合了一下 SpringCloudSleuth Zipkin,本来是很简单的东西,但是最终导出依赖包时没注意,导致目标服务始终没有被纳入 Zipkin 的链路追踪中,本文记录这个过程及关键依赖包。 部署zipkin 官网下载最新的 zipkin 可执行包&a…

背景

整合了一下 SpringCloudSleuth + Zipkin,本来是很简单的东西,但是最终导出依赖包时没注意,导致目标服务始终没有被纳入 Zipkin 的链路追踪中,本文记录这个过程及关键依赖包。

部署zipkin

官网下载最新的 zipkin 可执行包,重命名为 zipkin.jar ,然后编写一个启动脚本 start.sh ,内容如下:

nohup java -jar zipkin.jar >/dev/null 2>&1 &

以默认配置直接启动该组件。

整合过程

SpringCloud 项目中整合 Sleuth + Zipkin ,只需要添加两个依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth</artifactId><version>3.0.3</version>
</dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-sleuth-zipkin</artifactId><version>3.0.3</version>
</dependency>

sleuth 直接用默认配置,然后为 zipkin 配置 base-url 属性:

spring:zipkin:sender:type: webbase-url: http://IP:9411/

关键依赖包

目标服务是通过抽取公共 jar 的方式部署的,对本地应用打包后导出的第三方 jar 包进行分析,找出 sleuth + zipkin 依赖的文件列表:

admin@MyPc libdep % ll |awk '{print $NF}'|grep -E "sleuth|zipkin"
spring-cloud-sleuth-api-3.0.3.jar
spring-cloud-sleuth-autoconfigure-3.0.3.jar
spring-cloud-sleuth-brave-3.0.3.jar
spring-cloud-sleuth-instrumentation-3.0.3.jar
spring-cloud-sleuth-zipkin-3.0.3.jar
spring-cloud-starter-sleuth-3.0.3.jar
zipkin-2.23.0.jar
zipkin-reporter-2.16.1.jar
zipkin-reporter-brave-2.16.1.jar
zipkin-reporter-metrics-micrometer-2.16.1.jar
zipkin-sender-activemq-client-2.16.1.jar
zipkin-sender-amqp-client-2.16.1.jar
zipkin-sender-kafka-2.16.1.jar

因为 Sleuth 整合只引入了这两个依赖,以为就只需要上面这些 jar 包,将其他微服务的依赖路径加上上面文件所在的路径后,Zipkin 里面一直没有想过链路信息。纠结了好一会儿!为什么呢?

本地 IDEA 运行的服务有链路追踪,目标服务只引入第三方 jar ,没有。网络上介绍的用法确实很简单,只加入依赖、什么都是默认配置,就可以了。猜想还是依赖包的问题,用 maven 打开依赖试图发现有一堆 brave- 开头的 jar :
在这里插入图片描述

再用命令筛选出来:

admin@MyPc % ll |awk '{print $NF}'|grep -E "^brave-"      
brave-5.13.2.jar
brave-context-slf4j-5.13.2.jar
brave-instrumentation-http-5.13.2.jar
brave-instrumentation-httpasyncclient-5.13.2.jar
brave-instrumentation-httpclient-5.13.2.jar
brave-instrumentation-jms-5.13.2.jar
brave-instrumentation-kafka-clients-5.13.2.jar
brave-instrumentation-kafka-streams-5.13.2.jar
brave-instrumentation-messaging-5.13.2.jar
brave-instrumentation-mongodb-5.13.2.jar
brave-instrumentation-rpc-5.13.2.jar
brave-instrumentation-spring-rabbit-5.13.2.jar
brave-propagation-aws-0.21.3.jar

看后缀,筛掉没有用到的,最终确认了六个必须的:

brave-5.13.2.jar
brave-context-slf4j-5.13.2.jar
brave-instrumentation-http-5.13.2.jar
brave-instrumentation-httpasyncclient-5.13.2.jar
brave-instrumentation-httpclient-5.13.2.jar
brave-propagation-aws-0.21.3.jar

加上它们后目标服务都纳入了 Zipkin 管理了:
在这里插入图片描述

启示录

看似只加入两个依赖,其实还有很多其他依赖,没有细看导致很简单的一个整合问题,纠缠了好半天。

现用现学得玩了一下 Linux 命令,汇总如下

  1. grep -rl 目标字符串 目标目录l 参数只输出文件名称。
  2. 抽取 Sleuth 依赖包:ll |awk '{print $NF}'|grep -E "sleuth|zipkin"|xargs -I 参数别名 mv 参数别名 目标目录
  3. 批量编辑文件:sed -i s/old/new/g 文件名称,特殊字符 . \ 等都需要转义。
  4. if [ -z 变量 ] 括号两边必须有空格脚本才会正确。
  5. sleuth + zipkin 的核心包是 brave,我以为只是 sleuth 和 zipkin 的包呢。

最后还有一点,就是 Sleuth 之所以能跟踪链路,底层是 AOP 代理。有一个模块中使用了 @Scheduled 定时任务注解在一个 private 方法上导致启动报异常:

but cannot be delegated to target bean.Switch its visibility to package or protected.

解决办法是:

  1. 改为 public 、protected、package 修饰方法。
  2. spring.sleuth.scheduled.enabled=false,禁用系统的处理逻辑,这样就追踪不到后台任务的服务调用链了。
http://www.khdw.cn/news/23375.html

相关文章:

  • 做平面的公司网站网站营销策略
  • 如何运行asp.net网站有没有专门做营销的公司
  • 乐山网站制作设计公司推广方案如何写
  • 做网站的分析报告案例seo云优化方法
  • 网站备案容易吗怎么在百度上投放广告
  • wordpress登录界面改哪个文件苏州手机关键词优化
  • 品牌网站建设顾问电商运营方案
  • 网站建设与维护 课件seo软件安卓版
  • seo查询seo优化seo的全称是什么
  • 网站开发一对一成都网络营销推广
  • 制作百度移动网站网站如何推广
  • 胶州市 网站建设自己做一个网站
  • 西安网站建设制作价格低软件开发流程
  • 做网站asp和asp.netgoogle关键词排名优化
  • 网站域名怎么取怎么做网站教程视频
  • 网站建设怎么样怎么网络推广
  • 二级网站建设网络营销研究现状文献综述
  • diy网站建设系统源码江东seo做关键词优化
  • 北京智能网站建设系统加盟手游免费0加盟代理
  • wordpress文章怎么增加字段太原seo公司
  • 买入网站建设费的分录宁波网站建设
  • 锡林郭勒盟建设厅官方网站2023年8月份新冠病毒
  • 做营销网站应该要注意些什么淘宝搜索关键词技巧
  • 沭阳网站建设招聘上海今天最新发布会
  • 企业网站建设包括陕西seo快速排名
  • 免费绘画素材网站seo网站推广方案
  • 做旅游宣传图的网站营销软文范例大全100字
  • 嘉兴建设局网站培训学校招生营销方案
  • 通过社交网站来做招聘决定天天广告联盟
  • 地方网站名称大连百度网站排名优化