Spring Cloud - Eureka

云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。

Eureka实行集群部署,更具高可用性。

创建Eureka Server工程

通过Intellij IDEA创建SpringBoot工程。New Project ->Spring Initializr -> 填写name和group ->勾选Eureka Server ...完成之后,会发现pom.xml存在这样的依赖


    org.springframework.cloud
    spring-cloud-starter-eureka-server

编辑application.yml

这里将要搭建3个节点组成的服务中心


Spring Cloud - Eureka_第1张图片
Registry Center.png

其实,这是一个默认行为,所以只需要为对方添加上有效的serviceUrl即可。具体配置如下:

---
spring:
  application:
    name: eureka-servers
  profiles: peer1
server:
  port: 8000
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:7999/eureka/,http://peer3:7998/eureka/

---
spring:
  application:
    name: eureka-servers
  profiles: peer2
server:
  port: 7999
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:8000/eureka/,http://peer3:7998/eureka/

---
spring:
  application:
    name: eureka-servers
  profiles: peer3
server:
  port: 7998
eureka:
  instance:
    hostname: peer3
  client:
    serviceUrl:
      defaultZone: http://peer1:8000/eureka/,http://peer2:7999/eureka/

这里面需要修改/etc/hosts,添加peer1、2、3的解析。

运行

这里要运行3个实例。通过IDEA运行需要注意下面两点:

  • 反选Signle instance only,使得可以运行多个实例(对于同一个工程)
  • Active Profiles,可以指定启动某个配置的实例


    Spring Cloud - Eureka_第2张图片
    idea 配置.png

效果

Spring Cloud - Eureka_第3张图片
结果.png

你可能感兴趣的:(Spring Cloud - Eureka)