模拟Eureka-Server高可用
- 由于在学习Eureka,需要模拟其高可用的状态,经过查阅相关资料,加上自己的摸索,终于找到了方法,今天和大家分享一下:
-
创建SpringBoot工程并导入依赖
<dependencies> <!-- Eureka服务端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies>
-
创建application.yml,修改默认配置
server: port: 10010 # 端口 spring: application: name: eureka-server # 应用名称,会在eureka中显示 eureka: client: register-with-eureka: true # 是否注册自己的信息到EurekaServer,默认是true fetch-registry: true # 是否拉取其它服务的信息,默认是true service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。 defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10000/eureka # 会向这两个ip进行注册
-
创建启动类
@EnableEurekaServer // 声明这个应用是一个EurekaServer @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class}) //因为没有配置数据库,所以排除自动生成相关Bean public class EurekaDemoApplication { public static void main(String[] args) { SpringApplication.run(EurekaDemoApplication.class,args); } }
-
启动一个eureka-server服务
-
然后点击Edit Configurations ->Copy Confuration(图标)->勾选Allow parallel run
-
修改名称和application.yml的端口号
server: port: 10086 # 端口 spring: application: name: eureka-server # 应用名称,会在eureka中显示 eureka: client: register-with-eureka: true # 是否注册自己的信息到EurekaServer,默认是true fetch-registry: true # 是否拉取其它服务的信息,默认是true service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。 defaultZone: http://127.0.0.1:10010/eureka,http://127.0.0.1:10000/eureka # 会向这两个ip进行注册
-
重复步骤4-5,模拟启动3个eureka-server.
-