欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

Spring Cloud——Eureka——架构体系

发布时间:2023/12/4 javascript 77 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Spring Cloud——Eureka——架构体系 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、概述

Eureka包括两个端:

  • Eureka Server:注册中心服务端,用于维护和管理注册服务列表。
  • Eureka Client:注册中心客户端,向注册中心注册服务的应用都可以叫做Eureka Client(包括Eureka Server本身)。

Eureka官方wiki的架构图。

Eureka Server:表示注册中心集群

us-east-xxx:表示集群所在的区域

Application Service:表示服务提供者

Application Client:表示服务消费者

Eureka Client:表示Eureka客户端

如图所示,现在有三个区us-east-1c,us-east-1d,us-east-1e,每个区里都有一个Eureka Server集群,以及不定的Application Service和Application Client。

2、同区域的服务注册与调用过程

us-east-1c区域代表了同区域内的服务注册与调用过程。

  • Application Service启动后向Eureka Server注册中心注册服务,包括IP、Port、服务名等信息。
  • Application Client启动后从Eureka Server拉取注册列表。
  • Application Client发起远程调用的时候优先调用本区域内的Application Service。如果本区内没有可用的Application Service,才会发起对其他区内的Service调用。
  • 3、不同区域的服务注册与调用过程

    三个区域us-east-1c,us-east-1d,us-east-1e结合在一起代表了不同区域内的服务注册与调用过程。

  • us-east-1c内的Application Service启动后,向本区内的Eureka Server注册服务信息。并跟本区内的Eureka Server维持心跳续约。
  • Eureka Server会将服务信息同步至相邻的us-east-1d的Eureka Server以及us-east-1e的Eureka Server
    us-east-1e内的Application Service启动后,向本区内的Eureka Server注册服务信息。并跟本区内的Eureka Server维持心跳续约。
  • Eureka Server会将服务信息同步至相邻的us-east-1d的Eureka Server以及us-east-1c的Eureka Server
    us-east-1d内的Application Client启动后,从本区内的Eureka Server拉取注册列表。
  • us-east-1d内的Application Client发起远程调用时,会先检索本区有没有可用的Application Service,如果没有就会通过某种算法调用us-east-1c或us-east-1e中的Application Service服务。
  • 4、服务续约、下线、剔除

    4.1 服务续约

    Application Service内的Eureka Client后台启动一个定时任务,跟Eureka Server保持一个心跳续约任务,每隔一段时间(默认30S)向Eureka Server发送一次renew请求,进行续约,告诉Eureka Server我还活着,防止被Eureka Server的Evict任务剔除。

    4.2 服务下线

    Application Service应用停止后,向Eureka Server发送一个cancel请求,告诉注册中心我已经退出了,Eureka Server接收到之后会将其移出注册列表,后面再有获取注册服务列表的时候就获取不到了,防止消费端消费不可用的服务。

    4.3 服务剔除

    Eureka Server启动后在后台启动一个Evict任务,对一定时间内没有续约的服务进行剔除。

    值得注意的是,注册、续约、下线的请求默认优先选择本区域内的Eureka Server,只有当本区内的Eureka Server都不可用,才会选择其他区的Eureka Server。

    4.4 服务通讯方式

    服务间使用标准的REST方式通讯,所以Eureka服务注册中心并不仅适用于Java平台,其他平台也可以纳入到服务治理平台里面。只不过其他平台需要根据协议实现不同的客户端。目前已知实现的有net、nodejs、python。

    5、拓展

    源码解析:
    https://blog.csdn.net/neosmith/article/details/53131023

    总结

    以上是生活随笔为你收集整理的Spring Cloud——Eureka——架构体系的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。