且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用阿里云容器服务部署高可用eureka

更新时间:2022-05-21 12:53:36

之前在网上搜了很久,基本上都是自己维护的swarm集群,并不是使用的阿里云的容器服务功能,所以基本都不能使用,下面是我最终可用的配置,但是无法使用阿里云的蓝绿发布来发布eureka,不过这东西大多也都是人工维护

eureka配置

server:
  port: 8082
eureka:
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 4000
  client:
    service-url:
      defaultZone: ${ADDITIONAL_EUREKA_SERVER}
  instance:
    lease-expiration-duration-in-seconds: 5
    lease-renewal-interval-in-seconds: 5
spring:
  application:
    name: eureka-server

容器服务编排模板

由于容器集群内可能有多台机器,所以部署的eureka不能确定在哪台机器而且不能准确获得ip,使用阿里云容器服务的关键字hostname来设定地址,这样docker会根据这个获取地址传入项目中

eureka1:
  image: registry-vpc.cn-beijing.aliyuncs.com/wzm/spring-cloud-netfilx-eureka-demo:20171231191741
  hostname: eureka1
  ports:
    - "8082:8082"
  environment:
    - ADDITIONAL_EUREKA_SERVER=http://eureka2:8082/eureka/

eureka2:
  image: registry-vpc.cn-beijing.aliyuncs.com/wzm/spring-cloud-netfilx-eureka-demo:20171231191741
  hostname: eureka2
  ports:
    - "8082:8082"
  environment:
    - ADDITIONAL_EUREKA_SERVER=http://eureka1:8082/eureka/

源码地址

这个项目内的docker-compose.yml就是给容器服务的编排模板,自己维护的docker不一定能使用
https://github.com/EndOfMaster/spring-cloud-demo/tree/master/spring-cloud-netflix-eureka-server-docker