Spring Cloud Alibaba之服务容错组件 - Sentinel与控制台通信原理(十三)

Sentinel与控制台通信原理

我们学习了如何为项目整合Sentinel,并搭建了Sentinel的可视化控制台,介绍及演示了各种Sentinel所支持的规则配置方式。本文则对Sentinel进行更进一步的介绍。

首先我们来了解控制台是如何获取到微服务的监控信息的:

微服务集成Sentinel需要添加spring-cloud-starter-alibaba-sentinel依赖,该依赖中包含了sentinel-transport-simple-http模块。集成了该模块后,微服务就会通过配置文件中所配置的连接地址,将自身注册到Sentinel控制台上,并通过心跳机制告知存活状态,由此可知Sentinel是实现了一套服务发现机制的。

11464886-2f22fe3590aada0b.png

通过该机制,从Sentinel控制台的机器列表中就可以查看到Sentinel客户端(即微服务)的通信地址及端口号:


11464886-fd696c5c2c116903.png

如此一来,Sentinel控制台就可以实现与微服务通信了,当需要获取微服务的监控信息时,Sentinel控制台会定时调用微服务所暴露出来的监控API,这样就可以实现实时获取微服务的监控信息。

另外一个问题就是使用控制台配置规则时,控制台是如何将规则发送到各个微服务的呢?同理,想要将配置的规则推送给微服务,只需要调用微服务上接收推送规则的API即可。

我们可以通过访问http://{微服务注册的ip地址}:8720/api接口查看微服务暴露给Sentinel控制台调用的API,如下:


11464886-59c270b90771456b.png

相关源码:

注册/心跳机制:com.alibaba.csp.sentinel.transport.heartbeat.SimpleHttpHeartbeatSender
通信API:com.alibaba.csp.sentinel.command.CommandHandler的实现类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值