为什么要使用注册中心?是eureka还是nacos?
程序员的成长之路
共 1923字,需浏览 4分钟
·
2021-12-14 08:55
阅读本文大概需要 2.8 分钟。
来自:blog.csdn.net/new_com/article/details/112633748
为什么要使用注册中心
需要手动的维护所有的服务访问ip地址列表。 单个服务实现负载均衡需要自己搭建,例如使用nginx负载均衡策略,或者基于容器化多实例部署单个服务,在实例之间做负载均衡。
服务提供者 :向注册中心根据服务名称提供服务访问的ip:port以及其他信息。 注册中心 :根据服务名称,存储对应的ip:port以及其他信息。 服务消费者 :根据服务名向注册中心获取调用服务的ip:port以及其他相关的信息集合,然后根据负载均衡策略获取最终的服务器ip:port访问地址。
使用springcloud时,常用的是eureka和nacos作为注册中心,如何选择呢?
Eureka注册中心
当时服务部署成功,在Eureka注册中心已经显示该服务已经注册成功,但是,前端请求经过网关再转发到该服务时,一直就没有反应,服务调用一直不成功。nginx转发,网关转发都在确认问题到底发生在哪里,几经折磨,在网关直接通过ip地址转发到上线的服务,快速的解决该问题。后续,复盘,应该Eureka的自我保护机制,导致的问题。在注册中心注册的服务是一个不可用的服务,但是,由于自我保护机制,Eureka Server没有将无效的服务剔除。
enableSelfPreservation=false
关闭自我保护机制,把renewalPercentThreshold 比例降低,在Eureka Server端,如果出现无效的服务就会将该服务剔除。nacos注册中心
nacos在自动或手动下线服务,使用消息机制通知客户端,服务实例的修改很快响应;Eureka只能通过任务定时剔除无效的服务。 nacos可以根据namespace命名空间,DataId,Group分组,来区分不同环境(dev,test,prod),不同项目的配置。
推荐阅读:
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
朕已阅
评论