【Springcloud】Springcloud注册中心集群全部宕机后正确的处理方式

注册中心宕机后正确的处理方式

微服务化是当前的一大趋势,注册中心既是微服务最基础的组件,也是最核心的组件,它为客户端提供所有可调用的服务列表。也正因如此,注册中心的可用性在微服务架构中要求极高。在实际开发中,虽然我们可以通过一些手段不断的在提高注册中心的可用性,但也无法保证注册中心 SLA (Service Level Agreement,服务级别协议)100%的可用性。既然这样,那么当注册中心宕机不可用时,我们应该如何做才能减轻影响呢?


1.注册中心的职责

在分析注册中心宕机带来的影响前,我们先来看下注册中心的职责,下面一张图就可以解释注册中心的主要职责。

  • 注册中心:用于服务端注册远程服务以及客户端发现服务。
  • 服务端:对外提供后台服务,将自己的服务信息注册到注册中心。
  • 客户端:从注册中心获取远程服务的注册信息,然后进行远程过程调用。

可以很清晰的看到,在注册中心宕机时,服务注册以及服务发现和服务节点推送都会受到影响,在没有任何缓存的情况下,服务之间的调用都会受到影响。


2.Spring Cloud 的服务注册与发现

为了更好的阐述注册中心不可用带来的问题,我们先看看 Spring Cloud 的服务注册发现是怎么做的。这里我们以 Spring Cloud Consul 的代码为例。

服务注册

public void register(ConsulRegistration reg) {
   
    log.info("Registering service with consul: " + reg.getService());
    try {
   
      client.agentServiceRegister(reg.getService(), properties.getAclToken());
      if (heartbeatProperties.isEnabled() && ttlScheduler != null) {
   
        ttlScheduler.add(reg.getInstanceId());
      }
    
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值