尝试1:python实现,每个请求fork一次。
结果: 并发太大,系统负载飙升。strace发现系统调用clone,await过多。请求代理超时。
尝试2:iptables nat转发,更新nat表
结果: nat需要配置匹配概率,操作过程中可能大量refused.单个端口proxy数量有限制。
尝试3:使用squid邻居代理功能,动态更新代理库
结果: 动态更新squid中proxy列表,整体加载。动态剔除不可用代理,数量无限制
参考:
https://www.webair.com/community/simple-stateful-load-balancer-with-iptables-and-nat/