微服务治理的手段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务治理的手段相关的知识,希望对你有一定的参考价值。

节点管理

第一种:注册中心主动剔除有问题的服务提供者
根据心跳机制决定哪些服务提供者有效,由注册中心主动撤除有问题的服务提供者的ip,更新服务消费者端的服务提供者ip列表

第二种:服务消费者维护服务提供者列表
服务消费者在维护更新下来的的服务提供者ip列表,在调用的过程中,对有问题的服务提供者ip进行剔除

负载均衡

第一种:随机算法
第二种:权重优先级算法
第三种:最小活跃调用算法
第四种:一致性hash算法

如果所有服务提供者的机器配置和新旧差不多,优先选用第一种或者第四种
如果所有服务提供者的机器配置和新旧差很远,优先选用第二种或者第三种

服务路由

在服务消费端的可用服务提供端ip列表中选择调用哪个ip,除了由负载均衡算法决定,还需要由服务路由规则决定

原因一:业务灰度发布
原因二:多机房就近访问

路由规则配置方法:
方法一:静态配置
方法二:动态配置

服务容错

服务消费者发现调用失败后手段

手段一:Failover,发现调用失败后,设置重试次数,如果超过重试次数后对可用服务列表的下一个可用服务ip进行调用,如此类推。适合服务调用时幂等的场景,读操作场景。
手段二:Failback,发现调用失败后,根据返回失败的信息来决定是否重试,如果生效了就不需要再重试,如果不生效就再重新调用。适合服务调用时非幂等的场景。
手段三:Failsafe,发现调用失败后,等待一个时间间隔后再重试。适合服务调用时幂等的场景。
手段四:Failfast,发现调用失败后,不重试,直接返回失败结果,通常适合于非核心业务,适合服务调用时非幂等的场景。

以上是关于微服务治理的手段的主要内容,如果未能解决你的问题,请参考以下文章

.NETCore微服务之:基于Consul实现服务治理

【知识总结】4.微服务的治理去中心化,服务发现,安全,部署

springboot-服务治理

微服务治理实践:服务查询

在容器云上部署微服务,如何实现微服务治理?

不改一行代码,轻松拥有企业级微服务治理|MSE微服务治理专业版发布