目前是使用 balancer_by_lua 加上 https://github.com/rrfeng/lua-resty-upstream-etcd 实现了基于 etcd 的简单服务发现。
然后如果后端不够稳定或者流量过高的时候可能会直接压垮,所以通常服务治理框架都有熔断机制,即在发现后端失败率过高的时候,限制访问频率,进行服务降级等。
所以想请问各位大侠这方面有什么好的建议?
例如在某个 phase 统计 upstream peer 返回的错误数量,达到比如 10% 就减少 10% 的流量(随机丢弃,返回空数据等)。
各位感觉如何?