Nacos的元数据Metadata

概念
控制台元数据信息展示:

作用
1.提供描述信息
内容中心 👉 用户中心
V1 V1


内容中心 👉 用户中心
V2 V2

2.让微服务调用更加灵活
如何为微服务设置元数据
控制台设置
6-实现负载均衡-Ribbon - 图1
配置
6-实现负载均衡-Ribbon - 图2

Ribbon的组成

  1. ![](https://uploader.shimo.im/f/AMeWM4JIdAAmgDyu.png!thumbnail) <br />

Ribbon内置的负载均衡规则

    ![](https://uploader.shimo.im/f/d6laMBMZWIJkkjBZ.png!thumbnail)      <br /> 

细粒度配置自定义

    ![](https://uploader.shimo.im/f/7mESQPhwkdwbcoxe.png!thumbnail)      <br />**实践总结:**
  1. 1.尽量使用属性配置,属性方式实现不了的情况下再考虑用代码配置
  2. 2.再同一个微服务内尽量保持单一性,比如统一用属性配置,不要两种方式混用,增加定位问题的复杂性。

    全局配置

方式一:让ComponentScan上下文重叠(强烈不建议使用)
方式二:【唯一正确的途径】:@RibbonClients(defaultConfiguration=xxx.class)

只需要把@RibbonClient改为@RibbonCilents,configuration改为defaultConfiguration即可。

Ribbon究竟支持哪些配置

代码配置
6-实现负载均衡-Ribbon - 图3

属性配置

饥饿加载

默认情况Ribbon为懒加载,导致首次请求过慢
6-实现负载均衡-Ribbon - 图4

解决方法:改为饥饿加载,并且细粒度指定哪些微服务生效

扩展Ribbon

  • 支持Nacos权重
  • 同一集群优先调用
  • 基于元数据的版本控制

    深入理解Nacos的Namespace

现有架构存在的问题

    ![](https://uploader.shimo.im/f/Y8rEMvOpYp6hfQDt.png!thumbnail)      <br /> <br />        ![](https://uploader.shimo.im/f/SxSXLUC3E0fUo23M.png!thumbnail)      <br />上述代码存在的问题:<br />代码可读性差<br />url一旦复杂,那就很难维护<br />难以相应需求的变化,比如url的参数经常变化,不幸福<br />没有良好的提示,编程体验不统一<br /> <br />如何解决以上的问题: 声明式HTTP客户端---------Feign<br /> <br />