7-7 IRule源码分析及自定义规则演示

自定义IRule

Ctrl+Shift+Alt+N搜索,ribbon-loadbalancer
所有的实现都在这个包下

包含了很多的规则


来看下RandomRule的规则继承AbstractLoadBalancerRule并实现choose方法。

全量的是所有的服务列表。在线的是保持在线的服务列表

获取下标

在存活的服务里面找到这个下标。并返回

自己写个规则



继承并实现这两个方法.

NIWSNetflix Internal Web Services)的基础

返回null就是表示 无论如何都访问不到了。


RestConfig配置成自己的规则类MyRule


重启consumer服务。

http://localhost:7201/sayhello?message=hello




一般自定义规则是在灰度发布上用,例如新上线一个服务功能,让10%的流量先走新的服务,90%的流量还是走旧的服务。




实现思路


 

结束


原文地址:https://www.cnblogs.com/wangjunwei/p/12805843.html