Euraka-服务注册和发现原理

Eureka服务注册原理图:

Euraka-服务注册和发现原理

服务注册和发现的过程
  1. 服务b注册到Eureka注册中心,注册成功,定时发送心跳,确保自己是成功连接
  2. 把注册的服务储存
    2.1 服务注册中心,同时开启一个线程,检查注册服务是否定时发送心跳过来
    2.2 把注册到服务中心的服务(b服务)同步ResdWrite缓存中去
  3. 消费服务(服务A)定时(每个30s拉取)在服务注册中心拉取服务注册列表
    3.1 服务A先拉取ReadOnly缓存,如果过就直接拉取到本地,没有就去ResdWrite缓存中拉取数据到ReadOnly缓存
    3.2 这里有个单独线程定时检查ReadOnly缓存和ResdWrite缓存内容是否相同,如果不相同就把ResdWrite缓存中内容复制到ReadOnly缓存
  4. 如果B服务宕机或挂掉,服务注册中心会自动删除B服务的注册列表(不完整,以后再补充)