分布式系统 Redirect 和 Proxy 的区别

idea at 
分布式系统Redirect和Proxy的区别的配图
正如之前文章"分布式系统核心三要素"所提到的, 多分区(Sharding) 是分布式系统必不可少的核心特性, 无 Sharding 不分布式. Sharding 之后, 必然会遇到服务发现的问题, 也即服务寻址, 或者路由表.客户端在访问系统的服务之前, 需要拉取路由表, 根据路由表找到访问点的地址, 然后直接请求节点. 根据"Single Source of Truth"原理, 路由表的信息并不是 Truth, 不可能实时反映集群的 Sharding 分布, 因此, 客户端有可能访问到错误的节点. 这是无法避免的.因此, 当某个节点收到了在其服务范围之外的请求时, 它有两种策略选择:返回 R……