一 Eureka
1.Region和Zone
Region和Availability zone均是AWS的概念。其中,Region表示AWS中的地理位置,每个Region
有多个Availabilityzone,各个Region之间完全隔离。AWS通过这种方式实现了最大的容错和稳定性。
SpringCloud默认使用的Region是us-east-I,在非AWS环境下,可以将AvailabilityZone理解成机
房,将Region理解为跨机房的Eureka集群。
2. Eureka原理
-- Application Service:相当于服务提者
-- Application Client:相当于服务消费者。
-- Make Remote Call,可以理解成调用RESTfuI API的行为。
-- us-east-lc、us-east-Id等都是zone,它们都属于us-east-1这个region。
由图可知,Eureka包含两个组件,Eureka Server和Eureka Client
-- Eureka Server
提供服务注册服务,各个节点启动后会在Eureka Server进行注册。Eureka Server之间通过
复制的方式完成数据的同步。在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,
如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,将会重服务器注册表中把这个
服务节点移除(开启自我保护除外)。
-- Eureka Client是一个Java客户端,用于简化与Eureka Server的交互,该客户端
具备一个内置的使用轮询负载均算法的负载均衡器。Eureka提供客 户端缓存机制,即使所有
的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其它服务中的Api。
扩展:
客户端缓存的实现原理:
Eureka Client缓存机制很简单,设置了一个每30秒执行一次的定时任务,定时
去服务端获取注册信息。获取之后,存入本地内存。
原文:https://www.cnblogs.com/jialanshun/p/10585813.html