Eureka的高可用(Eureka集群)


前言

Eureka服务是一个单点服务,在生产环境就会出现单点故障,为了确保Eureka服务的高可用,我需要搭建Eureka服务的集群。搭建Eureka集群非常简单,只要启动多个Eureka Server服务并且让这些Server端之间彼此进行注册即可实现。


第一步,修改eureka server端的application.yml文件:

端口8888:

eureka:
	client:
	###是否将自己注册到Eureka服务中,集群的时候为true
		 register-with-eureka: true
		 fetch-registry: true
	server:
		enable-self-preservation: false
spring:
  application:
  ###起名为eureka
    name: eureka

第二步,修改配置文件,再建一个Eureka server工程,启动两个工程(两个工程的name属性一样)测试:

端口8889:

server:
  port: 8889

eureka:
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 2000
  instance:
    hostname: localhost
  client:
    ###是否将自己注册到Eureka服务中,因为该应用本身就是注册中心,不需要再注册自己(集群的时候为true)
    register-with-eureka: true
    ###是否从Eureka中获取注册信息,因为自己为注册中心,不会在该应用中的检索服务信息
    fetch-registry: true
      ###客户端调用地址
    serviceUrl:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}/eureka/




spring:
  application:
    name: eureka
  security:
    basic:
      enable: true
      #开启基于HTTP basic的认证
    user:
      #配置用户的账号信息
      name: oy
      password: 123456

其他的配置就和之前的一样

测试结果:
在这里插入图片描述

在这里插入图片描述

第三步,将client端服务注册到Eureka高可用集群:

服务注册到Eureka集群时,可以指定多个,也可以指定一个Eureka服务(因为Eureka服务集群间彼此互联)。

eureka:
  client:
    service-url:
           defaultZone: http://oy:123456@127.0.0.1:8888/eureka/,http://oy:123456@127.0.0.1:8889/eureka/

重启启动,测试:可以通过停止其中一个Eureka server服务进行测试,结果会发现集群是高可用。
即:启动2个Eureka服务端(注册中心),1个商品服务(product),1个订单服务(order)。停掉其中一个Eureka服务端后,访问另外一个Eureka服务端页面可以看到item服务立马切换到此注册中心,订单服务照样可以访问商品服务,浏览器输入http://localhost:8081/order/create还能获取到商品数据(因为商品服务同时注册到了2个注册中心)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值