又一个高可用 IP 代理池(base Golang)

2018-07-26 16:11:34 +08:00
 naiba

做不像样不敢拿出来的,

之前看到 v 友分享的 Haipproxy 做的很不错,就是部署起来感觉挺复杂的,依赖各种服务。

所以用 Go 做了一个代理池+二级代理。只依赖 MySQL,一键部署。

Proxy-in-a-Box https://github.com/naiba/proxyinabox

(开启了 debug 模式的话还能体验 https MITM 打印 request 和 response.)

按照 readme 启动之后,在你的代码中设置 proxy,然后就可以跑了。

TL;DR

代理的调度:开始的时候是在数据库中调度,频繁的读写及自增……后面放到了 sync.Map ,感觉可控性不强,后面又转到了 redis,结果 go-redis 用的不好,高并发下还是会出现一个代理一秒钟调度到一个主机十几次。 后面整个用锁自定义 map 来控制多线程读写。现在感觉很棒棒了。 开始没有做 MITM 打印 https 请求详情,后面走了点弯路之后成功实现功能。

2681 次点击
所在节点    分享创造
3 条回复
naiba
2018-07-26 16:16:08 +08:00
@Livid 为什么在分享创造看不到这个贴……
lookas2001
2018-07-27 10:05:26 +08:00
看到了,支持一下
zkwap
2019-12-04 14:03:46 +08:00
这么给力,怎么没人评论

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/474387

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX