A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】学成在线 第9天 讲义-课程预览 Eureka Feign 二

1.3.2.2 高可用环境搭建
Eureka Server 高可用环境需要部署两个Eureka server,它们互相向对方注册。如果在本机启动两个Eureka需要注意两个Eureka Server的端口要设置不样,这里我们部署Eureka Server工程,将端口可配置,制作两个Eureka Server启动脚本,启动不同的端口,如下图:

1、在实际使用时Eureka Server至少部署两台服务器,实现高可用。
2、两台Eureka Server互相注册。
3、微服务需要连接两台Eureka Server注册,当其中Eureka死掉也不会影响服务的注册与发现。
4、微服务会定时向Eureka server发送心跳,报告自己的状态。
5、微服务从注册中心获取服务地址以RESTful方式发起远程调用。
配置如下:
1、端口可配置

[AppleScript] 纯文本查看 复制代码
server:
port: ${PORT:50101} #服务端口 

2Eureka服务端的交互地址可配置
[AppleScript] 纯文本查看 复制代码
 eureka:
client:
registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果
不配置则默认本机8761端口)
defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/} 


3、配置hostname
Eureka 组成高可用,两个Eureka互相向对方注册,这里需要通过域名或主机名访问,这里我们设置两个Eureka务的主机名分别为 eureka01eureka02
完整的eureka配置如下:

[AppleScript] 纯文本查看 复制代码
eureka:
client:
registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果
不配置则默认本机8761端口)
defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/}
server:
enable
‐
self
‐
preservation: false #是否开启自我保护模式
eviction
‐
interval
‐
timer
‐
in
‐
ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60
*
1000)
instance:
hostname: ${EUREKA_DOMAIN:eureka01} 

4、在IDEA中制作启动脚本
启动1


运行两个启动脚本,分别浏览:
http://localhost:50101/
http://localhost:50102/
Eureka主画面如下:


1.3.3 服务注册
1.3.3.1 cms注册到Eureka Server
下边实现cmsEureka Server注册。
1、在cms服务中添加依赖
[AppleScript] 纯文本查看 复制代码
 <!
‐‐
导入Eureka客户端的依赖
‐‐
>
<dependency>
<groupId>org
.springframework.cloud</groupId>
<artifactId>spring
‐
cloud
‐
starter
‐
netflix
‐
eureka
‐
client</artifactId>
</dependency> 


2、在application.yml配置

[AppleScript] 纯文本查看 复制代码
eureka:
client:
registerWithEureka: true #服务注册开关
fetchRegistry: true #服务发现开关
serviceUrl: #Eureka客户端与Eureka服务端进行交互的地址,多个中间用逗号分隔
defaultZone: ${EUREKA_SERVER:http://localhost:50101/eureka/}
instance:
prefer
‐
ip
‐
address: true #将自己的ip地址注册到Eureka服务中
ip
‐
address: ${IP_ADDRESS:127.0.0.1}
instance
‐
id: ${spring
.application.name}:${server.
port} #指定实例id

3、在启动类上添加注解
[AppleScript] 纯文本查看 复制代码
 在启动类上添加注解 @EnableDiscoveryClient ,表示它是一个Eureka的客户端


4、刷新Eureka Server查看注册情况


1.3.3.2 manage-course注册到Eureka Server
方法同上。
1、在manage-course工程中添加spring-cloud-starter-eureka依赖:
2、在application.yml配置eureka
3、在启动类上添加注解 @EnableDiscoveryClient


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马