链路追踪+健康检查

分布式计算误区

网络可靠;
延迟为零;
带宽无限;
网络绝对安全;
网络拓扑不会改变;
必须有一名管理员;
传输成本为零;
网络同质化。(操作系统,协议)

链路追踪必要性

如果能跟踪每个请求,中间请求经过哪些微服务,请求耗时,网络延迟,业务逻辑耗时等。我们就能更好地分析系统瓶颈、解决系统问题。因此链路跟踪很重要。
实现方式前后加时间戳,捕获异常

链路追踪要考虑的几个问题

  1. 探针(埋点)的性能消耗。尽量不影响 服务本尊。
  2. 易用。
  3. 数据分析。要实时分析。维度足够。

sleuth

Sleuth是Spring cloud的分布式跟踪解决方案。

每个需要监听的服务
<!-- 引入sleuth依赖 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-sleuth</artifactId>
		</dependency>

1、span(跨度),基本工作单元。
2、trace(跟踪),整条链路整体
3、annotation(标签)

  • CS(Client Send客户端发起请求)。客户端发起请求描述了span开始。
  • SR(Server Received服务端接到请求)。服务端获得请求并准备处理它。SR-CS=网络延迟。
  • SS(Server Send服务器端处理完成,并将结果发送给客户端)。表示服务器完成请求处理,响应客户端时。SS-SR=服务器处理请求的时间。
  • CR(Client Received 客户端接受服务端信息)。span结束的标识。客户端接收到服务器的响应。CR-CS=客户端发出请求到服务器响应的总时间。

zipkin

由4个部分组成:
Collector、Storage、Restful API、Web UI组成
采集器,存储器,接口,UI。
原理:
sleuth收集跟踪信息通过http请求发送给zipkin server,zipkin将跟踪信息存储,以及提供RESTful API接口,zipkin ui通过调用api进行数据展示。
默认内存存储,可以用mysql,ES等存储。

每个需要监听的服务
<!-- zipkin -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-zipkin</artifactId>
	    </dependency>
spring:
  #zipkin
  zipkin:
    base-url: http://localhost:9411/
    #采样比例1
  sleuth:
    sampler:
      rate: 1  

java -jar zipkin.jar
http://localhost:9411/zipkin/

配合mq,mysql使用

健康检查

server

<!-- Admin 服务 -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-server</artifactId>
		</dependency>
		<!-- Admin 界面 -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-server-ui</artifactId>
		</dependency>

需要监控的微服务

pom:
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

yml:
management:
  endpoints:
    web:
      exposure:
        #yml加双引号,properties不用加
        include: "*" 
    health:
      ##默认是never
      show-details: ALWAYS
      enabled: true   

邮件监控

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值