Silentdoer

导航

客户端指定不同的vip/域名/F5地址来实现按规则请求不同的集群

假设后端分为了多个集群,比如A集群它处理用户id是求模100等于0的所有用户,并且它连的分库分表的数据也是用户id求模100等于0的所有用户;

那么这个A集群的对外地址aaa就可以打包到客户端,客户端在请求服务端之前可以根据当前用户的id进行求模,发现它求模100等于0,于是找到对应的集群A的对外地址aaa来访问;

这样可以有效的避免后端再进行数据转发的情况;

否则假设客户端没有做这个操作,那么它可能是用户id求模100是0的用户转发到B集群里去了,B集群是不会处理这个用户请求的,于是又返回302,甚至B集群直接再调用A集群(每个服务都保存了一份路由表,所以它能知道这个用户应该请求哪个集群【哪个分库】),

这样一来链路就长了;

之所以需要重新定向,是因为B集群只连了B集群的分库,它不能在B集群分库里存储A集群分库的数据,否则就乱了;

posted on 2023-01-04 20:56  Silentdoer  阅读(83)  评论(0编辑  收藏  举报