当我们越来越多的模块注册到eureka上面的时候,那么就会面临一个问题,一旦这个eureka遭遇到了天灾人祸,那么就很完蛋了!
高性能的Eureka搭建
所谓的高性能,就是我们多搭建几个Eureka,然后互相注册,当挂掉一个eureka的时候页没有关系,还有一点就是我们在注册到eureka的时候,我们多注册到几个eureka上,那么这样下来,eureka就可以高可用了不是么!
1.在新建一个Eureka
复制我们之前建的eureka项目
Eureka注册中心搭建
新建一个maven项目,zgq_eureka1
所有的东西都是一样的,复制粘贴就可以了,但是我们需要修改两个eureka的application.yml文件
zgq_eureka1配置文件
#服务端口号
server:
port: 8100
#Eureka基本配置
spring:
application:
name: eureka-server
eureka:
instance:
hostname: 127.0.0.1
client:
serviceUrl:
defaultZone: http://127.0.0.1:8200/eureka/
#注册自己
register-with-eureka: true
#检索服务
fetch-registry: true
zgq_eureka1配置文件
#服务端口号
server:
port: 8200
#Eureka基本配置
spring:
application:
name: eureka-server
eureka:
instance:
hostname: 127.0.0.1
client:
serviceUrl:
defaultZone: http://127.0.0.1:8100/eureka/
#因为自己是注册中心,不需要注册自己
register-with-eureka: true
#因为自己是注册中心,不需要检索服务
fetch-registry: true
这样我们就实现了这连个eureka互相注册
2.启动这两个项目
单独启动某一个项目会报错,因为需要注册的另一个项目没有启动,不过没有关系,把两个项目都启动就可以了!
分别访问: http://127.0.0.1:8100/ 和 http://127.0.0.1:8200/ ,我们可以看到这连个服务互相注册成功
3.模块注册的方法
其实和之前注册到eureka上的方法一样,只不过现在有了连个eureka服务,我们只需要在生产者和消费者的配置文件中,修改一个就可以了!就是在之前的地址后面加一个逗号,再把另一个eureka地址写上去
这是我们之前生产者的配置文件
#服务端口号
server:
port: 8000
#服务名称
spring:
application:
name: zgq-member
#服务注册到eureka
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8100/eureka,http://127.0.0.1:8200/eureka
#因为该应用为注册中心,不会注册自己
register-with-eureka: true
#是否需要从eureka上获取注册信息
fetch-registry: true
4.启动生产者
再次启动生产者,再去查看刚刚的两个eureka,就可以看到连个服务中都注入到这个生产者了!