一、Spring Boot的引入
dependencymanagement引入
为什么要使用:Eureka是来自于Spring Cloud,引入dependencymenagement之后就不用输入版本号
二、技术选型:为什么不使用zuul呢?ZUUL最大的特性是路由转发,而我们后端返回假如是完整的页面
技术选型
微服务的架构设计
三、服务注册与发现
服务的注册与发现
3.1 服务注册中心的配置
服务的注册与发现
3.2 服务提供者的配置
- eureka-client向eureka-server发送心跳的时间间隔
-
eureka-server每隔10s检查instance的续约时间
这两个配置为什么会在client端设置呢?因为eureka支持每个客户端都定制自己的时间。
服务提供者配置
-
通过注解EnableDiscoveryClient这个注解是如何引入自动配置的呢?
注意这个包下的这个配置文件
- 服务组件停止的结论:
- 当服务组件平滑停止时,将向服务注册中心发送注销请求,服务注册中心收到注销请求时,会将关联的实例请求状态置为DOWN;
- 当执行kill -9 关闭进程的时候不会触发注销操作。会启动保护模式,而不注销任何的实例。
3.3 服务消费者配置
服务消费者的配置
服务消费者测试
访问,显示服务提供者用户实例的相关信息
3.4 完整的服务注册流程
服务注册流程
四、服务通用组件
4.1 接入Restemplate的接入:restemplate是spring提供的便捷访问rest服务的客户端组件,底层是httpClient实现
Restemplate 的接入
为什么需要HttpClient::HttpClient是Restemplate的底层实现,可以使用连接池、长连接等功能。
HttpClient长连接
Restemplate Bean的配置
4.1 封装通用的Restemplate,隐藏直连或者负载均衡连接
通用的Restemplate
直连的demo
五、Ribbon
脱离Eureka实现负载均衡
消费者配置
5.1 配置负载均衡策略
配置步骤
Ribbon定制
启动类配置
通过属性配置
Eureka与Ribbon协调工作









网友评论