- 一、单机环境
- 1.1 Eureka Server
- 1. 导入依赖
- 2. yml文件
- 3. 启动类
- 1.2 Eureka Cilent
- 1. 导入依赖
- 2. yml文件
- 3. 启动类
- 1.3 测试
- 二、集群环境
- 2.1 简介
- 2.2 步骤
- 1. 搭建集群
- (1) 修改映射配置
- (2) 修改yml文件
- 2. 微服务注册到集群
- 三、Eureka细节修改
- 3.1 修改实例id
- 3.2 访问显示IP
- 四、Eureka自我保护机制
- 五、总结
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
3.0.3
2. yml文件
server:
port: 7001
eureka:
instance:
# eureka服务端的实例名称
hostname: localhost
client:
# false表示不向注册中心注册自己
register-with-eureka: false
# false表示自己端就是注册中心,我的职责就是维护服务器的实例,不需要去检索服务
fetch-registry: false
service-url:
# 设置与eureka sever交互的地址与查询服务、注册服务
defaultZone : http://${eureka.instance.hostname}:${server.port}/eureka/
3. 启动类
添加@EnableEurekaServer注解
1.2 Eureka Cilent 1. 导入依赖
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
2. yml文件
server:
port: 80
spring:
application:
# 微服务的名称
name: cloud-consumer-order
eureka:
client:
# true表示向注册中心注册自己,默认为true
register-with-eureka: true
# 是否从EurekaServer抓取已有的注册信息,默认为true。
# 单节点无所谓,集群必须设置true才能够配合ribbon使用负载均衡
fetch-registry: true
service-url:
# 设置与eureka sever交互的地址与查询服务、注册服务
defaultZone : http://localhost:7001/eureka/
3. 启动类
添加@EnableEurekaClient
1.3 测试浏览器输入http://localhost:7001/;
发现 cloud-consumer-order已经注册到服务中心里面了。
目的:避免单个EurekaServer出现故障,导致整个服务不可用
实现:简单来说,我们就是对外就是一个大的整Eureka,里面就包含了好几台:比如说 7001,7002…。 而里面的服务就相互注册,互相守望(你注册我,我注册你)。
现在就创建 7001 与 7002。
1. 搭建集群 (1) 修改映射配置找到 host文件:C:WindowsSystem32driversetc ,修改host映射配置,直接写入
127.0.0.1 eureka7001.com 127.0.0.1 eureka7002.com
注 :mac执行命令 sudo su 切换root账号,然后 vim /etc/hosts进入编辑页面,然后按字母i就可以编辑了,编辑完成后按esc,然后:wq就行了,最后su - 普通账户
注:拒绝访问解决办法,点开文件属性,安全,设置Users,添加修改写入权限
(2) 修改yml文件主要是修改hostname, defaultZone
三台的话defaultzone内容逗号分离,
service-url: defaultZoo url1,url2
- 修改7001
server:
port: 7001
eureka:
instance:
# eureka服务端的实例名称 对应host的修改
hostname: eureka7001.com
client:
register-with-eureka: false
fetch-registry: false
service-url:
# 设置与eureka sever交互的地址与查询服务、注册服务
# 向 http://eureka7002.com:7002/eureka/ 注册
defaultZone : http://eureka7002.com:7002/eureka/
- 修改7002
server:
port: 7002
eureka:
instance:
# eureka服务端的实例名称
hostname: eureka7002.com
client:
register-with-eureka: false
fetch-registry: false
service-url:
# 设置与eureka sever交互的地址与查询服务、注册服务
# 向 http://eureka7001.com:7001/eureka/ 注册
defaultZone : http://eureka7001.com:7001/eureka/
重启7001与7001,浏览器输入:http://eureka7002.com:7002/,http://eureka7001.com:7001/
修改微服务的 defalutZone
三、Eureka细节修改
3.1 修改实例id 3.2 访问显示IP导入 spring-boot-starter-actuator依赖,这是程序的监控系统,可以实现健康检查
四、Eureka自我保护机制 五、总结
Eureka包含两个组件: Eureka Server和Eureka Client。
Eureka Server启动完成之后,微服务节点向注册中心进行注册。如果默认时间90s没有收到来自Client的心跳,会这个服务节点移除。
Eureka Client:内置的、使用轮询(round-robin)负载算法的负载均衡器。启动后,向Eureka Server发送心跳,默认周期为30秒。
key存储服务名,value存放服务地址。
上一章:chapter03:搭建子模块
下一章:chapter05:简单搭建服务提供方集群



