作者回复: 你是说,在请求中的header或者url里,已经有值来确定,当前用户的请求路由到某上游集群?
如果是这样,那么split_clients就不能用了,你可以使用map模块,通过arg_或者http_、cookie_等变量取出你说的枚举值,再选定路由。
split_clients适用于通过百分比来简单划出一部分用户,作AB测试。
作者回复: TCP反向代理取IP最方便的方法是用proxy protocol,详见第113课。
取客户端IP,为什么不用X-Real-IP继续向后传递呢?网关取请求HEADER头部是一件很容易的事
作者回复: 可以计算出来,先用uint32_t
ngx_murmur_hash2(u_char *data, size_t len)函数中的算法,把字符串转成32位整型,把它除以0xffffffff计算出百分比,看落在哪个percent中
作者回复: 对proxy protocol协议不了解吗?建议用tcpdump抓包看一下
作者回复: 是的