spring-cloud(1)【eureka】

Eureka 是一种用于服务注册与发现的解决方案,包括 Eureka Server 和 Eureka Client 两个组件。Server 提供服务注册功能,各微服务启动时会向其注册;Client 则用于简化与 Server 的交互,并周期性地发送心跳以维持服务的有效性。本文介绍如何搭建 Eureka Server、配置服务注册及实现高可用架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. eureka简述

eureka包含两个组件,eureka server和eureka clinet
1. server提供服务发现的能力,各个微服务启动时,会向server注册自己的信息,server会存储这些信息。
2. eureka clinet是一个java客户端,用于简化与server的交互、
3. 微服务启动之后,会周期性(默认30秒)想server发送心跳以续约自己的租期。
4. 如果server在一定时间内没有接收到某个微服务示例的心跳,server将注销该实例。
5. 默认情况下,server同时也是一个clinet,多个server之间通过复制的方式,来实现服务注册表中的数据同步
6. clinet会缓存服务注册表中的信息。

7. eureka的集群模式

  • Eureka-Server 集群不区分主从节点或者 Primary & Secondary 节点,所有节点相同角色( 也就是没有角色 ),完全对等
  • Eureka-Client 可以向任意 Eureka-Client 发起任意读写操作,Eureka-Server 将操作复制到另外的 Eureka-Server 以达到最终一致性。注意,Eureka-Server 是选择了 AP 的组件。


2. 编写eureka server

1. 添加依赖

spring-cloud-starter-eureka-server

2. 编写启动类

@SpringBootApplication
@EnableEurekaServer
public class Server {
	public static void main(String[] args) {
		SpringApplication.run(Server.class, args);
	}
}

3. 配置文件

server.port=8889
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/

3. 将服务注册到eureka上

1. 添加依赖

spring-cloud-starter-eureka

2. 启动类加注解

@EnableDiscoveryClient

3. 配置文件

spring.application.name=user
server.port=8888
eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/

4. eureka的高可用

建立多个eureka项目,配置:

server.port=8884

eureka.instance.hostname=127.0.0.1
eureka.client.serviceUrl.defaultZone=http://localhost:8885/eureka/

server.port=8885

eureka.instance.hostname=127.0.0.1
eureka.client.serviceUrl.defaultZone=http://localhost:8884/eureka/


5. 为eureka添加用户认证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值