谈一谈我所理解的微服务中的注册中心( 三 )


客户端判断目前很多的框架实现都会在本地缓存微服务的节点信息 。实际上使用这些节点的是各个服务,服务是否能正常使用,这些节点才是最有发言权的 。
客户端缓存了节点信息,当服务端判定服务出现问题后发出更新请求时,客户端并不立刻删除,可以先做一个标识 。后续的业务请求过来后,仍旧判定该服务时可用的,只有当发出的请求无法收到正常回应时才将该服务摘除 。由客户端来决定节点是否可用,不过这需要容错机制来支持 。
动态设置心跳检测在网络频繁抖动的情况下,注册中心的节点信息会快速变化,也会给客户端发送大量的信息,当服务较多的时候可能会有大量的带宽被占用导致正常的请求都无法处理 。
所以需要一种动态的调整注册中心心跳检测频率的机制,当检测到网络抖动频繁时,根据网络情况调整心跳检测的频率,比如调整为正常情况下的1/2,10/1等 。在网络正常时心跳检测也恢复正常 。
小结注册中心是微服务架构中一个很关键的组件,其保证来各个服务之间正常调用,以及服务的横向扩容等功能 。在进行注册中心选型时需要考虑业务场景 。
作者:不能摸鱼啦
链接:
https://juejin.im/post/5ebe0ae36fb9a0432a3c43b6




推荐阅读