《重新定义Spring Cloud实战》——3.3.4 Zone及Region设计

举报
华章计算机 发表于 2019/06/04 14:54:28 2019/06/04
【摘要】 本书摘自《重新定义Spring Cloud实战》——书中第3章,第3.3.4节,作者是许进、叶志远、钟尊发、蔡波斯、方志朋、郭芳碧、朱德明。

3.3.4 Zone及Region设计

由于Netflix的服务大部分在Amazon上,因此Eureka的设计有一部分也是基于Amazon的Zone及Region的基础设施之上。

在Amazon EC2托管在全球的各个地方,它用Region来代表一个独立的地理区域,比如Eureka Server默认设置了4个Region:us-east-1、us-west-1、us-west-2、eu-west-1。Amazon的部分Region代码及名称列表如表3-4所示。

表3-4 Amazon云Region代码及名称列表

image.png

在每个Region下面,还分了多个AvailabilityZone,一个Region对应多个AvailabilityZone。每个Region之间是相互独立及隔离的,默认情况下资源只在单个Region之间的Availability-Zone进行复制,跨Region之间不会进行资源复制。Region与AvailabilityZone之间的关系图3-1所示。

image.png

图3-1 Region与AvailabilityZone之间的关系图

AvailabilityZone就类似Region下面的子Region,比如us-east-1的Region可分为us-east-1a、us-east-1c、us-east-1d、us-east-1e这几个AvailabilityZone。AvailabilityZone可看作Region下面的一个个机房,各个机房相对独立,主要是为了Region的高可用设计,当同一个Region下面的AvailabilityZone不可用时,还有其他AvailabilityZone可用。

Eureka Server原生支持了Region及AvailabilityZone,由于资源在Region之间默认是不会复制的,因此Eureka Server的高可用主要就在于Region下面的AvailabilityZone。

Eureka Client支持preferSameZone,也就是获取Eureka Server的serviceUrl优先拉取跟应用实例同处于一个AvailabilityZone的Eureka Server地址列表。一个AvailabilityZone可以设置多个Eureka Server实例,它们之间构成peer节点,然后采用Peer to Peer的复制模式。

Netflix的Ribbon组件针对多个AvailabilityZone提供了ZoneAffinity的支持,允许在客户端路由或网关路由时,优先选取与自身实例处于同一个AvailabilityZone的服务实例。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。