Eureka服务注册与发现

1.Eureka简介

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

1.1 Eureka组件

Eureka包含两个组件:Eureka ServerEureka Client

1.1.1 Eureka Server

Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Server本身也是一个服务,默认情况下会自动注册到Eureka注册中心。
如果搭建单机版的Eureka Server注册中心,则需要配置取消Eureka Server的自动注册逻辑。毕竟当前服务注册到当前服务代表的注册中心中是一个说不通的逻辑。
Eureka Server通过Register、Get、Renew等接口提供服务的注册、发现和心跳检测等服务。

1.1.2 Eureka Client

Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
Eureka Client分为两个角色,分别是:Application Service(Service Provider)Application Client(Service Consumer)

1.1.2.1 Application Service

服务提供方,是注册到Eureka Server中的服务。

1.1.2.2 Application Client

服务消费方,通过Eureka Server发现服务,并消费。
在这里,Application Service和Application Client不是绝对上的定义,因为Provider在提供服务的同时,也可以消费其他Provider提供的服务;Consumer在消费服务的同时,也可以提供对外服务。

1.2 小结

三大角色

  • Eureka Server:提供服务的注册与发现。相当于zookeeper server

  •  Service Provider:将自身服务注册到Eureka中,从而使消费方能够找到
  •  Service Consumer:服务消费方从Eureka中获取注册服务列表,从而找到消费服务

参考:

https://www.cnblogs.com/jing99/p/11576133.html

原文地址:https://www.cnblogs.com/GumpYan/p/14951147.html