频道栏目
首页 > 资讯 > 其他 > 正文

java版spring cloud+spring boot+redis社交电子商务平台-eureka 原理分析-云栖社区-阿里云

19-05-09        来源:[db:作者]  
收藏   我要投稿
Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。我们称此服务为Eureka服务。Eureka提供了Java客户端组件,Eureka Client,方便与服务端的交互。

Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。我们称此服务为Eureka服务。Eureka提供了Java客户端组件,Eureka Client,方便与服务端的交互。客户端内置了基于round-robin实现的简单负载均衡。在Netflix,为Eureka提供更为复杂的负载均衡方案进行封装,以实现高可用,它包括基于流量、资源利用率以及请求返回状态的加权负载均衡。

在AWS云,由于其天生的特性,服务器按需进行弹性伸缩。不像传统的负载均衡是基于固定的IP地址和host来实现,在AWS中,则需要提供更为复杂的负载均衡方案,以便对服务器进行注册和注销。由于AWS并未提供中间层负载均衡方案,Eureka的出世便填补了这个领域的巨大空白。

Eureka架构

Eureka架构.png

Eureka架构图是来自Eureka官方的架构图,大致描述了Eureka集群的工作过程。图中包含的组件非常多,可能比较难以理解,我们用通俗易懂的语言解释一下:

Eureka Server为服务注册中心,通过Replicate进行数据同步

Application Service 为服务提供者,

Application Client为服务消费者;

Make Remote Call,完成一次服务调用,可以简单理解为调用RESTful API;

由图可知,Eureka包含两个组件:Eureka Server 和 Eureka Client,它们的作用如下:

Eureka Client是一个Java客户端,用于简化与Eureka Server的交互;

Eureka Server提供服务发现的能力,各个微服务启动时,会通过Eureka Client向Eureka Server进行注册自己的信息(例如网络信息),Eureka Server会存储该服务的信息;

微服务启动后,会周期性地向Eureka Server发送心跳(默认周期为30秒)以续约自己的信息。如果EurekaServer在一定时间内没有接收到某个微服务节点的心跳,Eureka Server将会注销该微服务节点(默认90秒);

每个Eureka Server同时也是Eureka Client,多个Eureka Server之间通过复制的方式完成服务注册表的同步;

Eureka Client会缓存Eureka Server中的信息。即使所有的Eureka Server节点都宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者。

综上,Eureka通过心跳检测、健康检查和客户端缓存,以及服务之间的数据同步等机制,提高了系统的灵活性、可伸缩性和可用性。(客户端与服务端的连接是信息注册哦,不是实际的连接,注销针对的是注册信息不是连接)

相关TAG标签
上一篇:【运维安全】- 什么是SQL注入-树上七个猴丶-51CTO博客
下一篇:中山企业公司为什么做网站的优势_广东大熊互动网络公司-大熊互动的博客-51CTO博客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站