Spring Cloud | 实现Eureka Server 高可用服务注册中心全套解决方案
在 Edit Configurations中新建3个Spring Boot服务,选择“+“ 新建 “Spring Boot”, 分别是:eurekaServer-1,eurekaServer-2,eurekaServer-3。完整项目,“墙裂“推荐看:https://github.com/dangduang/Spring-Cloud-By-Dang/tree/master/spring-cloud
目录
1、在搭建Eureka Server,配置高可用服务注册中心,配置3个Eureka Server:
下面出现登录问题,需要参照给Eureka Server加上安全验证这篇文章:Spring Cloud (18) | 给Eureka Server加上安全验证
application.yml:
#安全验证
security:
basic:
enabled: true
user:
name: jack.ma
password: 1qaz2wsx
spring:
application:
name: eureka-server-cluster
profiles:
active: server1
application-server1.yml:
server:
port: 8761
eureka:
instance:
hostname: server1
# prefer-ip-address: true
instance-id: ${spring.application.name}:${server.port}
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://server2:8200/eureka/,http://server3:8300/eureka/
application-server2.yml:
server:
port: 8200
#
#spring:
# profiles:
# active: server1
eureka:
instance:
hostname: server2
# prefer-ip-address: true
instance-id: ${spring.application.name}:${server.port}
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://server1:8761/eureka/,http://server3:8300/eureka/
application-server3.yml:
server:
port: 8300
#
#spring:
# profiles:
# active: server1
eureka:
instance:
hostname: server3
# prefer-ip-address: true
instance-id: ${spring.application.name}:${server.port}
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://server1:8761/eureka/,http://server2:8200/eureka/
2、因为是在本地实现的话,需要在localhost加入三个服务,需要改变etc/hosts,linux系统通过vim /etc/hosts,
windows电脑,在c:/windows/systems/drivers/etc/hosts 修改
加入:
127.0.0.1 server1
127.0.0.1 server2
127.0.0.1 server3
3、如果是在测试或者是线上环境,准备三台应用服务器就可以了
启动工程:
在elipse中启动eureka-server:
java -jar eureka-server-0.0.1-SNAPSHOT.jar - -spring.profiles.active=server1
java -jar eureka-server-0.0.1-SNAPSHOT.jar - -spring.profiles.active=server2
java -jar eureka-server-0.0.1-SNAPSHOT.jar - -spring.profiles.active=server3
4、如果在idea中,可以用简单方法:
在 Edit Configurations中新建3个Spring Boot服务,选择“+“ 新建 “Spring Boot”, 分别是:eurekaServer-1,eurekaServer-2,eurekaServer-3
如图:
server1:
server2:
server3参照上图。
然后分别启动server1, server2, server3
5、需要特别注意的是:所有注册到Eureka Server的服务,defaultZone要做相应的修改如下:
eureka:
client:
serviceUrl:
defaultZone: http://jack.ma:1qaz2wsx@server1:8761/eureka/,http://jack.ma:1qaz2wsx@server2:8200/eureka/,http://jack.ma:1qaz2wsx@server3:8300/eureka/
defaultZone中多个服务之间,用","连接
三个Eureka Server中,按照这个顺序来显示微服务,shutdown其中的任何一个Eureka Server, 会顺次转发到另外一个Eureka Server上
完整项目,“墙裂“推荐看:https://github.com/dangduang/Spring-Cloud-By-Dang/tree/master/spring-cloud-eureka-server
更多系列文章推荐:
- Spring Cloud (20) | Spring Cloud Bus 使用kafka消息总线、gitlab添加webhooks实现自动刷新配置
- Spring Cloud (19) | Eureka Server 高可用服务注册中心
- Spring Cloud (18) | 给Eureka Server加上安全验证
- Spring Cloud (15) | Spring Boot、HikariCP、Mybatis和MySQL 配置HikariCP数据库连接池
- Spring Cloud (14) | 微服务不能从git/github/gitlab中获取数据库信息 can’t load properties from git/github/gitlab
- Spring Cloud (12) | Spring Cloud Zuul网关调用微服务,request请求参数是application/json
- Spring Cloud (11) | healthcheck开启健康检查
- Spring Cloud (10) | Eureka 各项参数详解
- Spring Cloud (8) | 把Spring Boot项目改造成tomcat容器启动
- Spring Cloud (7) | Mongodb 微服务
- Spring Cloud (6) | spring cloud zuul 跨域问题No ‘Access-Control-Allow-Origin’ header
- Spring Cloud (5) | 配置中心 Config Server 配置git or github or gitlab
- Spring Cloud (3) | spring cloud bus 消息总线kafka应用
- Spring Cloud (1) | java.net.UnknownHostException: eureka-server
更多推荐
所有评论(0)