您的位置:首页 > 编程语言 > Java开发

Spring Cloud (19) | Eureka Server 高可用服务注册中心

2017-12-14 17:39 886 查看
在搭建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/[/code] 
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/[/code] 
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/[/code] 
因为是在本地实现的话,需要在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


如果是在测试或者是线上环境,准备三台应用服务器就可以了

启动工程:

在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


如果在idea中,可以用简单方法:

在 Edit Configurations中新建3个Spring Boot服务,选择“+“ 新建 “Spring Boot”, 分别是:eurekaServer-1,eurekaServer-2,eurekaServer-3

如图:

server1:



server2:



server3参照上图。

然后分别启动server1, server2, server3

需要特别注意的是:所有注册到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/[/code] 
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息