计算机系统应用教程网站

网站首页 > 技术文章 正文

「springcloud」Eureka高可用集群模式注册中心搭建

btikc 2024-09-20 14:51:20 技术文章 25 ℃ 0 评论

Eureka Server没有后端存储,所有的注册信息全部放在内存中。

默认情况下,一个Eureka Server也是一个Eureka Client。也需要配置一个注册中心url,去找到对端的注册中心。以实现高可用。

单注册中心模式:

就像上一篇的示例。

server:
 port: 8761
eureka:
 instance:
 hostname: localhost
 client:
 registerWithEureka: false
 fetchRegistry: false
 serviceUrl:
 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

注意,这种模式下,我们会把client配置中的registerWithEureka和fetchRegistry置为false

因为不存在另一个注册中心。serviceUrl设置的是自己。不能自己向自己注册。

集群模式

模拟3节点组建的集群

如图,新建3个配置文件,分别配置3个节点的属性。

一定是application-xxx.yml。这是springboot中约定的。

内容类似,对应修改即可

server:
 port: 8761
spring:
 profiles: peer1
eureka:
 instance:
 hostname: peer1
 client:
 serviceUrl:
 defaultZone: http://peer2:8762/eureka/,http://peer3:8763/eureka/

因为我是在一台机器上操作,所以需要改下机器的域名。

我是win7,修改c:\windows\system32\drivers\etc\hosts文件

加上

127.0.0.1 peer1
127.0.0.1 	peer2
127.0.0.1 	peer3

启动,不需要打三个包去启动。

可以通过在idea中修改启动参数,启动多个

启动参数添加 --spring.profiles.active=peer1

注意右上角的单例选项要勾掉

启动好之后,

在peer1的控制台,可以看到他的备节点是peer2和peer3。同理可以看看peer2和3的

再启动2个服务

同样的操作,改造下配置文件

配置代码:

spring:
 application:
 name: service-hello
eureka:
 client:
 serviceUrl:
 defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/,http://peer3:8763/eureka/
server:
 port: 8771

同样启动两个服务

现在的架构:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表