文章目录
一、前提须知
首先,我们需要知道的是为什么我们要搭建 EurekaServer端(注册中心) 集群?
注册中心的出现是为了动态的感知微服务的各种状态,以便更好的提供稳定的服务,但如果注册中心一旦出现宕机,则会导致整个服务崩溃,所以对注册中心进行集群是非常有必要的。
在进行搭建集群前,我们先要做一个工作,因为我们都是在本机上显示的且没有使用虚拟机,所以我们需要创建几个本机域名映射模拟多机器环境。
127.0.0.1 eurekaserver7001.com
127.0.0.1 eurekaserver7002.com
127.0.0.1 eurekaserver7003.com
二、搭建集群
在此之前,我们成功搭建了一个 EurekaServer端 ,我们接下来要搭建另两个 EurekaServer端(springcloud-eureka-7002、springcloud-eureka-7003)。大家可以参照:【SpringCloud】springcloud 学习环境搭建 - 六 的搭建方法。
大家在创建 springboot 项目的时候,一定要注意:springboot 与 springcloud 的版本问题。(我使用的是 Hoxton.SR3
的 springcloud 和 2.2.5.RELEASE
的 springboot)
1、搭建springcloud-eureka-7001
① 创建一个名springcloud-eureka-7001 的 springboot项目
参照:【SpringCloud】springcloud 学习环境搭建 - 六 的搭建方法。
② 配置配置文件(application.yaml):
server:
port: 7001
# Eureka 配置
eureka:
instance:
hostname: eurekaserver7001.com # Eureka 服务端的实例名
client:
register-with-eureka: false # 是否注册自己
fetch-registry: false # false 表示自己为注册中心
service-url: # 别人向注册中心申请时所用的地址
defaultZone: http://eurekaserver7002.com:7002/eureka/,http://eurekaserver7003.com:7003/eureka/
2、搭建 springcloud-eureka-7002
① 创建一个名springcloud-eureka-7002 的 springboot项目
参照:【SpringCloud】springcloud 学习环境搭建 - 六 的搭建方法。
② 配置配置文件(application.yaml):
server:
port: 7002
# Eureka 配置
eureka:
instance:
hostname: eurekaserver7001.com # Eureka 服务端的实例名
client:
register-with-eureka: false # 是否注册自己
fetch-registry: false # false 表示自己为注册中心
service-url: # 别人向注册中心申请时所用的地址
defaultZone: http://eurekaserver7001.com:7001/eureka/,http://eurekaserver7003.com:7003/eureka/
3、搭建 springcloud-eureka-7003
① 创建一个名springcloud-eureka-7001 的 springboot项目
参照:【SpringCloud】springcloud 学习环境搭建 - 六 的搭建方法。
② 配置配置文件(application.yaml):
server:
port: 7001
# Eureka 配置
eureka:
instance:
hostname: eurekaserver7001.com # Eureka 服务端的实例名
client:
register-with-eureka: false # 是否注册自己
fetch-registry: false # false 表示自己为注册中心
service-url: # 别人向注册中心申请时所用的地址
defaultZone: http://eurekaserver7001.com:7001/eureka/,http://eurekaserver7002.com:7002/eureka/
4、测试
启动 springcloud-eureka-7001
、springcloud-eureka-7002
、springcloud-eureka-7003
,然后访问 http://eurekaserver7001.com:7001
。
三、完成微服务的注册
我们的微服务还是使用【SpringCloud】Eureka的(服务注册与发现 )以及(自我保护机制) - 一 中的 springcloud-provider-dept-8081 。
我们只需求改动一点即可,将 eureka.client.service-url.defaultZone 对应的 1 个EurekaServer 地址
改为 3 个 EurekaServer 地址
(用 “ , ”隔开)。
修改application.yaml文件
# Eureka 的配置,进行服务注册
eureka:
client:
service-url:
defaultZone: http://eurekaserver7001.com:7001/eureka/,http://eurekaserver7001.com:7001/eureka/,http://eurekaserver7001.com:7001/eureka/ # EurekaServer端的url
instance:
instance-id: this is a provider server and port of 8081 # 修改 Eureka 的状态(Status)信息
prefer-ip-address: true #显示真是的IP地址
✈ ❀ 希望平凡の我,可以给你不凡の体验 ☂ ✿ …