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