Advertisement

Kubernetes watch 以及与Spring Cloud集成

阅读量:

简介

本文旨在探讨 consul 的 watch 机制及其在与 Spring Cloud 集成过程中的具体应用

Consul的watch机制

Concierge的watch机制主要依赖于HTTP长轮询机制进行实现。当请求URL包含wait参数时,服务端将立即返回结果;否则,在指定wait时间内若服务状态发生变化,则会暂时挂起等待。

复制代码
    http://consul-ip:8500/v1/health/service/provider-demo?token=&nsType=DEF_AND_GLOBAL&wait=55s&index=7496095

Spring cloud Consul服务更新

服务更新主要涉及到三个对象:

  • PollingServerListUpdater:其中包含一个LazyHolder懒加载对象,在需要监听服务时启动一个调度线程池用于执行服务定时更新。
  • DynamicServerListLoadBalancer:该对象是在服务定时更新过程中被调用的一个实体类,其updateListOfServers方法将负责对ServerList进行更新,以获取服务实例列表,而这一过程的具体实现则由ServerList接口对应的实现类来完成。
  • 其updateListOfServers方法将负责对ServerLi

全部评论 (0)

还没有任何评论哟~