注册中心架构图
文章目录
- 1.Eureka的异地多活解析
- 2.Reign和Zone概念解析
- 3.Eureka中的Region与Zone配置
1.Eureka的异地多活解析
异地多活一般是指不同城市建立的独立数据中心
活相对的是主备关系中的热备而言的, 热备是指备份机房随时全量备份着主机房中的数据, 但是平时不支撑业务, 对外不提供服务, 只要在主机房出现故障的时候会切换到备份机房, 就是说平时来说, 只有主机房是活的。
多活是指这些机房属于主从模式, 即这些机房都对外提供服务, 相互备份。
2.Reign和Zone概念解析
Eureka中具有Region与Availability Zone(简称AZ)概念。
Region: 为了方便不同地理区域中用户的使用,大型云服务提供商一般会根据用户需求量在不同的城市、省份、国家或洲创建不同的大型云计算机房。这些不同区域机房间一般是不能“内网连通”的。
同一Region机房是如何实现同域容灾的
为了增强容灾能力,在一个Region中又设置了不同的Availability Zone。这些AZ间实现了内网连通,且用户可以根据自己所在的具体位置自动选择同域中的不同AZ。当用户所要访问的AZ出现问题后,系统会自动切换到其它可用的AZ。
像Eureka系统架构图中的us-east-1c、us-east-1d、us-east-1e就是us-east-1这个Region中的c、d、e三个AZ。
3.Eureka中的Region与Zone配置
假设某公司的服务器有Beijing、Shanghai等多个Region。Beijing这个Region中存在两个AZ,分别是
bj-1与bj-2,每个AZ中有三台Eureka Server。
h-1与h-2两台主机提供的都是相同的Service服务,根据地理位置的不同,这两台主机分别注册到了距
离自己最近的不同AZ的Eureka Server。
Server AZ bj-1配置
Server AZ bj-2配置
Zuul AZ bj-1配置
Zuul AZ bj-2配置
Service AZ bj-1配置
Service AZ bj-2配置
优先选择同zone服务配置
当一个region有多个zone时,微服务调用应用时优先调用同zone内的应用。原因是eureka client有个配
置prefer-same-zone-eureka,默认为true。当同zone中的应用均不可用时,才会调用其它zone中的服
务。
指定远程Region配置
对于本地Region中的所有服务均不可用时,可以指定从远程Region获取。不过这种情况获取到的结果
可能与从本地Region获取的结果不同,除非这些Region实现了跨域数据复制。若要想从远程Region获
取服务,客户端需要通过设置如上属性指定远程Region,并在defaultZone中指出这些远程域中Eureka
Server的地址。