spring cloud eureka简介

什么是eureka

       eureka是一种基于REST的服务,用于定位服务,可以实现中间层服务器(后端服务)的负载均衡和故障转移,这种服务称之为eureka server。其附带了基于java客户端组件的eureka client,可以使与服务的交互变得更加容易。其内置了一个负载均衡器,可以进行基本的循环负载均衡。

应用程序客户端和应用程序服务端是如何通信的?

      eureka可以获取目标主机的ip地址并使用诸如RPC机制之类的协议,并且对这种协议没有任何的限制,那么有了目标主机的ip地址和相应的协议,客户端和服务端当然就可以通信了

eureka架构

       架构图

       

       eureka 包括两个组件,一个是eureka server,一个是eureka client,eureka server是作为服务的注册中心存在的,eureka clinet是将服务注册到注册中心并可以对注册中心内的服务进行调用的。

       eureka是可以搭建集群的,并且这个集群是分不同的区域的,每个区域至少有一个eureka server,不同区域的每个eureka server存储的服务注册信息是一致的,保证了服务的高可用,并且这个区域内的eureka server只知道向自己注册服务的eureka client。eureka client每30s会发送一次心跳给eureka server来进行续租,如果在几次续约失败的情况下,eureka server会在90s之内将该eureka client踢掉,并且会将该client的注册信息和更细复制到每个eureka server的节点中,那么每个eureka client都可以去查找被踢掉的client的注册信息(该查找在每30s会发生一次),查找到之后进行远程的调用

弹性

      这个弹性指的是eureka client会缓存自己的注册信息,即便所有的eureka server都死掉了,其仍旧可以正常的运行

多个区域

      区域之间的eureka彼此之间是不通信的

监控

      eureka是通过使用servo来监控客户端和服务端之间的大量信息的,数据是由JMX注册表提供,并且可以导出

     

猜你喜欢

转载自blog.csdn.net/qq_34745957/article/details/86746686