前言
业务需求:
需要大量的IP进行业务操作(例如请求、爬虫)。且IP池需要分到地级市,并且不能在相近时间内复用。(隔天可以复用)。
实现方法:
使用nginx进行反向代理+负载均衡。尽量保证高可用性。
业务逻辑:
我使用python并配合以下思路处理业务:
IP替换脚本
代码登录后可见
在编写IP池时,需要按地级市进行区分,并且将所有的条件都写入到脚本内,例如:“guangzhou”,“shenzhen”,“dongguan”.然后在他们下面带上相应的ip即可做到按地级市区分ip池替换。
nginx配置文件
代码登录后可见
listen端口尤为重要,他关系到你使用ip:端口能够代理到对应的什么位置,例如我访问ggbond.com:12345,则指向到114.114.114.114:10086流量上处理业务。
负载均衡
代码登录后可见
使用4台相同配置的服务器进行负载均衡,你需要在dns解析中配置好相应的ip才可以使用。以保证高可用性。(可以的话使用集群进行热备。当master挂掉后可以马上切换到slaver进行流量转发)