目录
6.修改系统 hosts 文件,添加 eureka 域名映射
(二)、service provider 服务提供者 ---- eureka客户端
1.修改 item-service、user-service、order-service,把微服务注册到 eureka 服务器
2)配置启动参数 --spring.profiles.active 和 --server.port
3.实现04order-service ,远程调用商品和用户
1)订单添加Feign类,用Feign的声明式客户端接口做远程调用,(代替hystrix+ribbon)
2)pom.xml 添加依赖 OpenFeign 和 sp01-commmons 依赖
一、eureka 注册与发现
注册中心:微服务系统的核心服务
- 所有模块启动,都想注册中心注册
- 模块之间互相调用,要从注册中心互相发现
- 常用的注册中心:nacos、eureka、zookeeper、etcd、consul.......
(一)、搭建eureka注册中心
1.新建 spring 模块:sp05-eureka
2.添加选择 Eureka Server 依赖
3.pom.xml 调整版本
- spring boot: 2.3.2.RELEASE
- springcloud: Hoxton.SR6
4.配置 application.yml
- 禁用自我保护模式
- 主机名
- 针对单台服务器,不向自己注册,不从自己拉取
spring:
application:
name: eureka-server
server:
port: 2001
eureka:
server:
enable-self-preservation: false #禁用自我保护
instance:
hostname: eureka1 #主机名
client:
register-with-eureka: false #不向自己注册
fetch-registry: false #不从自己拉取
5.启动类的注解: @EnableEurekaServer
- 通过注解来触发自动配置
6.修改系统 hosts 文件,添加 eureka 域名映射
- C:\Windows\System32\drivers\etc\hosts
- 添加内容:
127.0.0.1 eureka1 127.0.0.1 eureka2
7.测试:
(二)、service provider 服务提供者 ---- eureka客户端
1.修改 item-service、user-service、order-service,把微服务注册到 eureka 服务器
- 添加 eureka client 依赖 (点击pom.xml,alt+insert 用 STS 工具编辑起步依赖)
- application.yml 添加配置 eureka 服务器连接地址
eureka: client: service-url: defaultZone: http://eureka1:2001/eureka
-
(可选) 启动类添加
@EnableDiscoveryClient
2.启动,并访问 eureka 查看注册信息:
3.eureka四条运行机制
-
注册: 客户端会一次一次反复连接服务器进行注册,直到注册成功为止
-
拉取 :客户端每30秒拉取一次注册表,来刷新注册表
-
心跳 :客户端每30秒发送一次心跳,如果服务器连续三次收不到一个服务的心跳,会删除这个服务
-
自我保护模式:
- 由于网络不稳定,网络中断,15分钟内,85%服务器出现心跳异常,就会进入自我保护模式
- 在这种特殊情况下,所有服务都不删除
- 网络恢复正常后,可以自动退出保护模式
- 开发调试期间,可以禁用保护模式,避免影响测试