《重新定义Spring Cloud实战》——3.3 Eureka的设计理念

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

3.3 Eureka的设计理念

3.3.1 概述

作为一个服务注册及发现中心,主要解决如下几个问题:

1.服务实例如何注册到服务中心

本质上就是在服务启动的时候,需要调用Eureka Server的REST API的register方法,去注册该应用实例的信息。对于使用Java的应用服务,可以使用Netflix的Eureka Client封装的API去调用;对于Spring Cloud的应用,可以使用spring-cloud-starter-netflix-eureka-client,基于Spring Boot的自动配置,自动帮你实现服务信息的注册。

2.服务实例如何从服务中心剔除

正常情况下服务实例在关闭应用的时候,应该通过钩子方法或其他生命周期回调方法去调用Eureka Server的REST API的de-register方法,来删除自身服务实例的信息。另外为了解决服务实例挂掉或其他异常情况没有及时删除自身信息的问题,Eureka Server要求Client端定时进行续约,也就是发送心跳,来证明该服务实例还是存活的,是健康的,是可以调用的。如果租约超过一定时间没有进行续约操作,Eureka Server端会主动剔除。这一点Eureka Server采用的就是分布式应用里头经典的心跳模式。

3.服务实例信息的一致性问题

由于服务注册及发现中心不可能是单点的,其自身势必有个集群,那么服务实例注册信息如何在这个集群里保持一致呢?这跟Eureka Server的架构有关,理解其设计理念有助于后面的实战及调优,下面主要分AP优于CP、Peer to Peer架构、Zone及Region设计、SELF PRESERVATION设计四个方面来阐述。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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