spring cloud 搭建集群Eureka Server
2018-07-20 本文已影响15人
会动的木头疙瘩儿
创建Eureka Server
项目名叫eureka-server,并在下面添加两个profile文件 peer1和peer2
目录结构如下:
a1.png
peer1内容
spring:
profiles: peer1
server:
port: 8761
eureka:
instance:
hostname: peer1
client:
service-url:
defaultZone: http://peer2:8762/eureka/
register-with-eureka: false
fetch-registry: false
peer2内容
spring:
profiles: peer2
server:
port: 8762
eureka:
instance:
hostname: peer2
client:
service-url:
defaultZone: http://peer1:8761/eureka/
register-with-eureka: false
fetch-registry: false
请注意,每一个EurekaServer同时也都是EurekaClient,所以peer1中的service-url指向的是peer2,向相同实例同步注册表信息,service-url中的peer1和peer2在生产环境应该是真实的IP。
配置本机的etc/hosts文件
本地开发测试的话,需要在etc/hosts文件中添加:
127.0.0.1 peer1
127.0.0.1 peer2
启动在IDEA中启动两的EurekaServer的话,首先看如何一个工程启动多个实例,请看这篇文章:https://blog.csdn.net/forezp/article/details/76408139
其次可以在application.properties
中添加spring.profiles.active=peer1
启动第一个实例,再修改为spring.profiles.active=peer2
启动第二个实例
第二种启动方式是,用maven打包之后在target目录中打到jar文件用命令启动:
java -jar eureka-server.jar -- spring.profiles.active=peer1
java -jar eureka-server.jar -- spring.profiles.active=peer2
访问 http://peer1:8761和 http://peer2:8762/
创建一个Eureka Client注册服务
配置文件:
eureka:
client:
service-url:
defaultZone: http://peer1:8761/eureka/
server:
port: 8763
spring:
application:
name: eureka-client
启动eureka-client后,再看
http://peer1:8761
Eureka Client只向peer1提供了注册而peer2也被同步了注册表
demo地址:https://github.com/liangxiaobo/SpringCloudEurekaServerDemo
喜欢的朋友请赞赏支持一下