Nacos 注册中心 整合 Ribbon 和 Feign
常用链接
Spring 生态官网 Alibaba 版本依赖
Nacos
Nacos中文手册
- Nacos 领域模型 namespace group service cluster instance
- 元数据
- 服务注册
- 服务发现
Ribbon
- 手动实现客户端RestTemplate负载均衡
- 通过 Ribbon 实现RestTemplate客户端调用负载均衡(@LoadBalanced) 设置/重写 Ribbon 暴露的配置接口 实现方式 配置文件方式(优先级更高,无需重启) 代码实现方式(用于细粒度场景、自定义实现) 影响范围 全局生效 指定服务配置(注意父子上下文覆盖问题) 修改IRule接口默认的ZoneAvoidanceRule实现 根据权重均衡 优先使用同 cluster 内的 instance 匹配元数据相同版本
Feign
- 通过 Feign 实现远程调用 实现方式:Contract 契约(@FeignClient注解支持SpringMVC的注解) 与 Ribbon 配合 Feign 默认会结合 Ribbon 的实现负载均衡 脱离 Ribbon 的方式,直接指定实际 URL 地址
- 修改 Feign 的日志级别(默认不打印任何日志,打印需要在 logging 本身配置是debug 级别下才生效) 配置文件方式(优先级更高,无需重启) 代码实现方式(用于细粒度场景、自定义实现)
- 修改 Feign 最终使用的 Http 客户端 默认情况 不和 Ribbon 配合时,使用HttpUrlConnection,不支持连接池,性能差 和 Ribbon 结合时,支持自定义客户端,默认是HttpUrlConnection 优化 yml方式配置指定Apache的httpclient,支持连接池,性能提高15%
- 继承 分析优缺点(个人认为:违背了微服务松耦合的最初目的)
- 此外还支持编码器、解码器、通用逻辑等
本文是对知识点的整理归纳,方便后续翻阅回忆
下一篇:
个人博客项目开发总结(二) 项目前端开发