SpringCloud(3)------搭建Eureka高可用

1.eureka高可用其实就是多个eureka注册中心相互注册构成集群。

eureka1注册到eureka2
eureka2注册到eureka1

搭建eureka1和eureka2,搭建工程请查看此链接https://blog.csdn.net/weixin_42551369/article/details/103343471

2.修改配置文件

1)eureka1的配置文件:

port: 8102 #此端口为eureka1的端口
http://${eureka.instance.hostname}:8101/eureka/ #eureka2的地址

server:
  port: 8102	#此端口为eureka1的端口

eureka:
  instance:
    hostname: 127.0.0.1
  client:
  #registerWithEureka实例是否在eureka服务器上注册自己的信息以供其他服务发现,默认为true(部署eureka高可用时需要设置为true)
    registerWithEureka: true
    #fetchRegistry此客户端是否获取eureka服务器注册表上的注册信息,默认为true(部署eureka高可用时需要设置为true)
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:8101/eureka/	 #eureka2的地址
spring:
  application:
    name: eureka-server

在这里插入图片描述
2)eureka2的配置文件:

port: 8101 #此端口为eureka2的端口
http://${eureka.instance.hostname}:8102/eureka/ #eureka1的地址

server:
  port: 8101  #此端口为eureka2的端口

eureka:
  instance:
    hostname: localhost
  client:
  #registerWithEureka实例是否在eureka服务器上注册自己的信息以供其他服务发现,默认为true(部署eureka高可用时需要设置为true)
    registerWithEureka: true
    #fetchRegistry此客户端是否获取eureka服务器注册表上的注册信息,默认为true(部署eureka高可用时需要设置为true)
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:8102/eureka/    #eureka1的地址
spring:
  application:
    name: eureka-server

在这里插入图片描述

3、启动eureka1 和eureka2

1)在启动第一个eureka时,会出现如下问题:
java.net.ConnectException: Connection refused: connect
Connection refused: connect

在这里插入图片描述

这里需要说明一下,这是没有问题的,因为第一个eureka(eureka1)启动,需要将自己注册到第二个eureka(eureka2)中,但此时第二个eureka(eureka2)还未启动,所以会此错误,当第二个eureka(eureka2)启动以后,此报错便会消失。

4.访问eureka的web界面

8102:可以看到8101和8102都注册到eureka中了
在这里插入图片描述
8101:可以看到8102和8101都注册到eureka中了
在这里插入图片描述

至此,eureka的高可用已经搭建完成~~~

这里再提一下三台eureka怎么搭建:

eureka1-----注册到-----》eureka2和eureka3
eureka2-----注册到-----》eureka1和eureka3
eureka3-----注册到-----》eureka2和eureka1

5、将服务注册到eureka集群

1)创建一个服务提供者
2)修改配置文件application.yml

注意:

需要将服务注册到所有的注册中心。
本文搭建的是两个注册中心,那么就需要将两个注册中心的地址都写上。
defaultZone: http://localhost:8102/eureka,http://127.0.0.1:8101/eureka/

###服务别名
spring:
  application:
    name: microservice-h3
eureka:
  client:
    service-url:
    ###当前服务注册到eureka
      defaultZone: http://localhost:8102/eureka,http://127.0.0.1:8101/eureka/
      #检索服务
    fetch-registry: true
    #将服务注册到eureka
    register-with-eureka: true

#项目端口号
server:
  port: 8001

3)启动服务,再次查看eureka1和eureka2
8102:服务注册到eureka中
在这里插入图片描述
8101:服务注册到eureka中
在这里插入图片描述4)ribbon和feign在消费服务的时候,也需要在配置文件中将所有的eureka地址加入。

猜你喜欢

转载自blog.csdn.net/weixin_42551369/article/details/103410646