Eureka注册与发现

Eureka是Netflix的服务发现框架,用于中间层服务定位。本文介绍了Eureka的C-S架构,服务端、客户端的使用步骤,以及自我保护机制。在SpringCloud中,Eureka Server作为服务注册中心,Eureka Client负责服务注册和发现,客户端通过服务名实现负载均衡。Eureka自我保护机制避免因网络问题误删服务,当心跳失败比例超过85%时进入保护模式。
摘要由CSDN通过智能技术生成

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

一、原理

在这里插入图片描述
EureKa采用C-S的设计架构,即包括了Eureka Server(服务端),EureKa client(客户端)。
1)、Eureka Server:提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,包括主机与端口号、服务版本号、通讯协议等。这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka服务端支持集群模式部署,首尾相连形成一个闭环即可,集群中的的不同服务注册中心通过异步模式互相复制各自的状态,这也意味着在给定的时间点每个实例关于所有服务的状态可能存在不一致的现象;
3)、Eureka client,在应用启动后,会向EuekaServer发送心跳(默认30秒),如果EUR额卡 Server在多个心跳周期内没有接受到某个节点的心跳,EureKa Server将会从服务注册表中将这个服务移出(默认90秒),主要处理服务的注册和发现;
4)、服务调用,服务消费者在获取服务清单后,通过服务名可以获取具体提供服务的实例名和该实例的元数据信息。因为有这些服务实例的详细信息,所以客户端可以根据自己的需要决定具体调用哪个实例,在Ribbon中会默认采用轮询的方式进行调用,从而实现客户端的负载均衡;
5)、EureKa Server 通过心跳链接, 相互复杂Client的注册信息;
环境要求:java 1.8 以上;Eureka 2.0的现有开源工作已经停止,只能用Eureka 1.x版本;

二、SpringCloud Eureka的使用步骤

2.1、Eureka Service端(服务端)

1)pom文件

<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值