加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_盐城站长网 (https://www.0515zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

微服务架构下,如何打造别具一格的服务治理体验?(上)

发布时间:2021-01-08 02:32:58 所属栏目:站长百科 来源:网络整理
导读:副标题#e# 《微服务架构下,如何打造别具一格的服务治理体验?(上)》要点: 本文介绍了微服务架构下,如何打造别具一格的服务治理体验?(上),希望对您有用。如果有疑问,可以联系我们。 作者介绍 张真,宜信技术研发中心高级架构师,负责基础系统架构演进与

在大规模部署服务计算节点时,往往还会遇到跨大网段,跨IDC中心,白名单IP策略等问题.所以心跳系统还支持“心跳级联代理”模式,其作用是允许建立多级的心跳群,每个群由若干“代理”心跳服务端组成,它们只负责转发心跳信息,所以服务注册信息也依靠这个过程进行转发到服务注册中心.

服务注册:多级服务注册中心模式

在某些特殊业务场景下,对服务注册信息更新延迟容忍度较低,这时,让心跳级联的计算节点也作为服务注册中心.如下图,节点B是1级服务注册中心(以下简称1级中心),节点C是2级服务注册中心(以下简称2级中心).1级中心会存储向自己提交的服务注册信息,也会把这些信息转发到上级服务注册中心.2级中心上可见所有下级中心的服务注册信息.这种模式可以获得更快的服务发现,因为同级的节点发现其他节点服务能力只需经过本级服务注册中心即可,下文会结合服务发现做详细解释.

 

服务注册中心依靠TTL的方式对服务接口注册信息进行生命周期管理.我们定义生命状态如下:

 

  1. 存活(Alive):服务接口健康,可被查询
  2. 可疑死亡(Dying):由于网络延迟等原因的假死状态,服务接口健康状态存疑,可被查询.有可能经过1~2个生命周期收到上行心跳,可恢复至Alive状态
  3. 死亡(Dead):超过了较大的TTL,基本认为服务接口死亡,其接口信息被隔离不能查询
  4. 消失(Disappear):超过了一个铁定死亡的TTL,认为服务接口可以抹去,最终会从服务中心消息掉,其接口信息被隔离不能查询

另一个关键点是服务接口名的定义,它应该是全局唯一的命名,因为在多个服务能力之间互相调用时是以服务接口名为目标的.在服务画像时,会自动生成服务接口名,它提取以下三类信息:

  1. 计算节点类型名(服务计算节点相关):计算节点的类型由业务语义决定,比如MonitoAgent,SMSGateway,HealthManager等等
  2. Http服务组件类型名(服务能力相关):对外提供Http服务组件的简写类名,比如MDFListenServer,NodeOperHandleServer,DigitSignServer等等
  3. Context路径(服务接口相关):相对Http服务根的路径,比如/ma/put/mdf,/hm/cache/q,/rtntf/oper等等.

它们共同构成服务接口名,例如:

healthmanager-HealthMangerServerWorker-/hm/cache/q

runtimenotify-RuntimeNotifyServerWorker-/rtntf/oper

hbserveragent-HeartBeatServerListenWorker-/heartbeat

2)服务发现

服务发现的本质是通过服务接口名查询服务注册中心,服务注册中心基于某些策略返回服务接口可用地址列表,服务调用方也可以基于某些策略来使用地址列表.

(编辑:网站开发网_盐城站长网 )

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!