SpringCloud之Eureka(注册中心集群篇)(二)

前面我们介绍了Spring Cloud Eureka的简单使用。
但前面的例子中,这个服务注册中心是单点的,显然这并不适合应用于线上生产环境。服务注册中心是服务的中心位置,如果服务注册中心崩了,显然是灾难性的,不符合微服务架构的高可用性特点。
那么如何搭建高可用的服务注册中心集群呢?

我们可以通过Eureka Server互相注册的方式来实现高可用的部署。所以我们仅仅需要在配置文件中配置defaultZone为其他的注册中心即可。

我们创建三台机器的集群:

peer1:loaclhost:8761
peer2:loaclhost:8762
peer2:loaclhost:8763

一:集群环境搭建

创建配置文件application.yml:

security:
  basic:
    enabled: true
  user:
    name: admin
    password: admin123
spring:
  application:
    name: EUREKA-HA
---        
server:  
  port: 8761
spring:
  profiles: peer1    
eureka:
  instance:
    hostname: peer1
  client:    
    service-url:
      defaultZone: http://admin:admin123@peer2:8762/eureka/,http://admin:admin123@peer3:8763/eureka/
---
server:
  port: 8762
spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://admin:admin123@peer1:8761/eureka/,http://admin:admin123@peer3:8763/eureka/
---
server:
  port: 8763
spring:
  profiles: peer3
eureka:
  instance:
    hostname: peer3
  client:
    serviceUrl:
      defaultZone: http://admin:admin123@peer1:8761/eureka/,http://admin:admin123@peer2:8762/eureka/      

显然这里的url中的peer1,peer2,peer3我们是无法访问的,所以需要在hosts文件中添加:

127.0.0.1 peer1 peer2 peer3

二、启动

如果是STS,可以使用Spring Boot App启动:
这里写图片描述

Profile分别可以设置,peer1,peer2,peer3

如果通过eclipse点击,右键Run As 启动,需要加入参数如下图:
这里写图片描述

如果通过jar命令启动,

java -jar eureka_register_service-1.0.0.jar --spring.profiles.active=peer1         
java -jar eureka_register_service-1.0.0.jar --spring.profiles.active=peer2
java -jar eureka_register_service-1.0.0.jar --spring.profiles.active=peer3

三、查看

分别打开http://127.0.0.1:8761/ , http://127.0.0.1:8762/http://127.0.0.1:8763/ 如下图

这里写图片描述

###四:服务端注册
设置了多个注册中心后,我们的服务配置不需要太多改动只需将biz-service-0工程的application.properties的serviceUrl修改下

 eureka.client.serviceUrl.defaultZone=http://peer1:8761/eureka/,http://peer2:8762/eureka/,http://peer3:8763/eureka/,

当然也可以绑定一个地址,eureka.client.serviceUrl.defaultZone=http://peer1:8761/eureka/
这两种绑定都可以

五:集群理解

虽然上面我们以双节点作为例子,但是实际上因负载等原因,我们往往可能需要在生产环境构建多于两个的Eureka Server节点。那么对于如何配置serviceUrl来让集群中的服务进行同步,需要我们更深入的理解节点间的同步机制来做出决策。我们通过一张图来理解集群

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值