在微观服务治理计划中,链接跟踪是强制性的课程。SpringCloud的组件实际上非常简单。通常,软件维护确实是生产环境中的头痛。接口的哪个链接在微服务之间的微服务中?这需要很长时间。这是一个项目启动后将遇到项目的问题。为了解决这些问题的链接跟踪,它出现了。
1)天行:这应该是目前最主流的解决方案。我公司的新项目今年已经开始使用。效果确实很重要和强大。最重要的是在国内生产。您不需要看我们以后支持我们支持国内生产!只是一个玩笑哈哈,实际上,这个框架也有缺点,也就是说,有点沉重,更适合一个更大的项目,但是可以预见到下一个几年是最受欢迎的解决方案。
2),Zipkin:这是旧的时尚链接跟踪计划。它已经通过许多项目进行了验证。与天行者相比,我个人更喜欢这个框架,因为它更轻且减少,并且安装非常简单。它是中等大小的刻度。它是中小型大小的。Micro -Service项目首选计划。
1. Zipkin环境的建立提供了Docker版本,这很简单。您还可以下载汇编的Zipkin.jar运行,这是Springboot Project。
官方网站:https://zipkin.io/pages/quickstart.html
1)启动默认端口号以启动Zipkin服务,即默认端口9411。
Java -Jar Zipkin.Jar
2)指定Java -Jar Zipkin.jar -server.port = 8080
3)指定访问rabbitmq java -jar zipkin.jar -zipkin.collector.rabbitmq.addresses = 127.0.0.0.1
4)。起步效果
2. SpringCloud集成了Zipkin SpringCloud其他基本依赖关系软件包,以在此处引入Omittinds以模拟场景。
会员服务:zipkin_member
订单服务:zipkin_order
消息服务:zipkin_msg
流程:会员服务呼叫订单服务,订单服务通话消息服务。
1)依赖性简介
2)应用程序配置注意:
a),添加服务名称,将使用RESTTEMPLATE调用;
b),添加Zipkin服务侧地址;
c),添加概率收集率设置,默认为0.1,测试环境将更改为1.0,以确保每次收集到每次收集时,并适当采样生产环境。需要收集所有)
3)RESTTEMPLETE简介此处RESTTEMPLATE主要用于接口调用以检查链接跟踪
4),控制器呼叫成员呼叫订单
订购通话消息
消息处理特定业务
5)查看Zipkin服务器的效果,请访问:http://127.0.0.0.1:9411
执行控制器接口
查看链接跟踪,您可以看到接口调用的链接已出现在Zipkin中。
3.在Zipkin集成了RabbitMQ Asynchronous Collection Springboot2.0之后,该官员不再建议使用自己的Zipkin服务器,而是直接使用Commined Zipkin.jar将其用于我们。
zipkin.jar中的YML配置可以参考:https://github.com/openzipkin/zipkin/zipkin/blob/master/zipkin-server-server/ain/main/main/resources/resoucs/zipkin-shared.yml
1)指定RabbitMQ在启动服务器的Zipkin服务时将RabbitMQ指定为服务器,请首先启动RabbitMQ服务器。
Java -Jar Zipkin.jar -Zipkin.Collector.RabbitMQ.Addresses = 192.168.239.1322
启动后,可以发现将自动添加Zipkin队列,以表明结合成功。
2)引入每个微服务的中间依赖性,以引入中间和RabbitMQ中间件依赖关系
3),YML配置以修改每个微服务的应用程序,以及兔子的配置。
4),启动和呼叫启动微服务,执行呼叫。
5)MQ是否接收消息以查看RabbitMQ是否有消息,队列回答说明RabbitMQ收到了消息。
6)Zipkin是否收集信息以查看Zipkin是否已收集了链接信息
7)验证积压消息以关闭Zipkin服务,查看该消息是否会累积在RabbitMQ上,然后启动Zipkin服务以查看是否会消耗消息并获取链接信息。
为了检查消息,我发现与TraceID相关的JSON数据证明了整个过程是正常的。
重新开始Zipkin服务,发现RabbitMQ积压的消息被消耗了。
您也可以获取链接信息
4. Zipkin使用MySQL将YML配置存储在Zipkin.jar中供参考。关于MySQL或其他配置,例如Elasticsearch:
https://github.com/openzipkin/zipkin/blob/master/zipkin- server/ain/main/resources/zipkin-shaard.yml
在本节中,我们根据上一节添加了MySQL的启动配置项目
1)指定的mySQL命令看起来很长。实际上,仔细看到它非常简单。
Java -Jar Zipkin.Jar
-Zipkin.Collector.RabBitMQ.Addresses = 192.168.239.132
-zipkin.storage.type = mysql
-zipkin.storage.mysql.host = 127.0.0.1
-zipkin.storage.mysql.port = 3306
-zipkin.storage.mysql.username = root
-zipkin.storage.mysql.password = 123456
-zipkin.storage.mysql.db = Zipkin
2)根据1命令中配置的信息创建Zipkin数据库,创建Zipkin数据库,然后执行Zipkin收集的记录的三个表。
参考官方网站:https://github.com/apache/incubator-zipkin/blob/zipkin-storage/mysql-d1/src/main/mysql.sql.sql
在这里,我还发布了Zipkin-Mysql.sql
3)启动效果的微服务,执行控制器请求以查看是否成功。
兔子
Zipkin
mysql
在这一点上,SpringCloud Sleuth + Zipkin + RabbitMQ + MySQL已成功集成!
微服务有许多治理计划。学习方向是基于个人喜好。我的经验是盲目遵循此解决方案寻求帮助。例如,现在有天空走动,将来可能会有天空飞行和空?
有必要有意识才能朝着高端软件工程师迈进,也就是说,当无尽的开源框架看起来像竹蘑菇时,您必须有信心使用时间来使用它来自行构建它。这是改善自己的最有效方法。
项目中使用了什么样的治理计划,不是以下内容,而是最合适的,就像您正在寻找女友一样,而不仅仅是寻找美丽的生活,而是在寻找最好的生活,否则这将是最好的生活,否则它将出现在上帝之外。
实际上,本文是8年 - 作品和研究期间云说明中记录的内容之一。实际上,我有很多业余时间。有兴趣的朋友可以下载它。什么时候可以?如果您打开它,它可能会节省很多时间。
链接:https://pan.baidu.com/doc/share/flr0qypyxmwsrpbnjrw-1028798581759
提取代码:BXAA
我的原始文章是纯粹的手,专注于共享主流技术和实际工作经验。如果您认为如果您有一滴帮助,请喜欢并收集它!
原始:https://juejin.cn/post/7099730216276197406