今天是:
带着程序的旅程,每一行代码都是你前进的一步,每个错误都是你成长的机会,最终,你将抵达你的目的地。
title

Spring Cloud 分布式集群

 接上一部分 https://www.zlennon.com/website/springcloud/index#spring-cloud-start-tutorial

1.Eureka集群

我们把服务都注册到Eureka中了,但是如果注册中心挂了,那就是相当于什么都挂了,所以注册中心需要配置为集群方式以保证高可用性。

因为集群需要不同的的域名,所以这里先修改hosts 映射(C:\Windows\System32\drivers\etc\hosts)

127.0.0.1 eureka1.com
127.0.0.1 eureka2.com
127.0.0.1 eureka3.com

复制两份server-registry 命名为server-registry2,server-registry 3 ,同时修改端口

server-registry 9001,server-registry2 9011 server-registry2 9021

每个服务配置其他两个eureka地址,使他们之间相互感知 ,启动三个服务即可。

server:
  port: 9001
eureka:
  instance:
    hostname: eureka1.com
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka2.com:9011/eureka/,http://eureka3.com:9021/eureka

访问9001服务,查看集群是否配置成功

2.服务集群

将之前的服务提供者再拷贝一份 并命名为covid-provier2  

这样两个服务分别使covid-provier 8080 ,covid-provier2  8090

配置集群服务,注意 spring.application.name 两个服务是相同的,表明提供的是同一个服务,instance-id 不同表示在eureka中的两个不同的服务实例

#server 8080
spring:
  application:
    name: ms-covid-provider

eureka:
  client: #客户端注册进eureka服务列表内
    service-url:
      defaultZone: http://eureka1.com:9001/eureka,http://eureka2.com:9011/eureka,http://eureka3.com:9021/eureka
  instance:
    instance-id: ms-cloud-covid-8080
    prefer-ip-address: true     #访问路径可以显示IP地址

---
#server 8090
spring:
  application:
    name: ms-covid-provider

eureka:
  client: #客户端注册进eureka服务列表内
    service-url:
      defaultZone: http://eureka1.com:9001/eureka,http://eureka2.com:9011/eureka,http://eureka3.com:9021/eureka
  instance:
    instance-id: ms-cloud-covid-8090
    prefer-ip-address: true     #访问路径可以显示IP地址

启动消费者访问,根据后台打印的日志可以看出,eureka默认使用轮询的方式提供服务。

分享到:

专栏

类型标签

网站访问总量