每天约 14 万次访问量,只返回访问者的 IP 地址,应该如何部署更节省成本?

2016-05-03 23:11:30 +08:00
 abelyao

有这样一个需求,每台机器每 30 秒通过访问一个特定的页面,来获取外网 IP 地址,大概会有 50 台机器运行;

返回的内容大概就是 {'ip':'123.123.123.123'} 而已,因为需要服务端来判断来访者 IP ,所以没办法直接部署到 CDN 或者做缓存(这个 IP 必须得是实时的,如果来访者 IP 换了也得给出新的结果);

目前考虑的是部署一个 node.js 来跑(据说高并发很好?),每天 14 万次请求,除了购买一个 VPS 还有什么更好的办法吗?

PS. 考虑过通过网卡来获取 IP ,但机器都在路由器后面,网卡信息是没有外网 IP 地址的;
PPS. 也考虑过直接抓网络上其它 IP 查询网站的结果,但这些网站有时会触发保护系统,返回了错误的结果;

16417 次点击
所在节点    DevOps
112 条回复
raptor
2016-05-04 09:29:27 +08:00
买个 VPS 有那么难吗?现在便宜的 VPS 十几美元一年足够满足你要求了,前两年还有几美元一年的。
abelyao
2016-05-04 09:30:25 +08:00
@raptor 看我在 60 楼的回帖吧
zhicheng
2016-05-04 09:31:42 +08:00
ipcountry.org 就是放在 CF 后边的。
kofip
2016-05-04 09:36:03 +08:00
@zhicheng Ping 200ms
kofip
2016-05-04 09:37:21 +08:00
@abelyao 我看还是用 IP138 的吧,用正则提取。是否有限制,测试下就知道了。
Moker
2016-05-04 09:37:24 +08:00
@msg7086 哈哈我也觉得是...其实只要 5 刀一个月就好了 直接上 512 的
zhicheng
2016-05-04 09:43:22 +08:00
@kofip So?
kofip
2016-05-04 09:49:45 +08:00
@zhicheng ipcountry.org 我这里 PING 200MS
c3538378
2016-05-04 09:50:38 +08:00
我已经彻底服了, 50 个客户端、 30 秒才访问一次、就取个 IP 而已 -> 其实是 1.4 万次访问,不是楼主说的 14 万哦

你这是要有多稳定啊?

我觉得你这是不是得在全国每个省都至少部署一台服务器呢( CF 在海外呢)?是不是还得要上 BGP 机房呢?怎么着还得要加个 Load Balancer 吧( CF 可没有这个功能)?
msg7086
2016-05-04 09:55:04 +08:00
@c3538378 50×2880 你怎么算出 1.4 万的。
kofip
2016-05-04 09:56:42 +08:00
@abelyao @c3538378 最好是这样,所以不能自己弄服务器。

我刚找到了一个 API ,符合你的形容。

http://whois.pconline.com.cn/ipJson.jsp
c3538378
2016-05-04 09:57:58 +08:00
@msg7086 呃,是我 SB 了... 😫
abelyao
2016-05-04 10:16:57 +08:00
@kofip 这个是到目前位置打开速度最快的… 真的是秒开了…
kofip
2016-05-04 10:18:10 +08:00
@abelyao 我本地 PING 10ms 左右,测速网站 全国平均 30ms 。 符合 @c3538378 的形容!
sampeng
2016-05-04 11:15:46 +08:00
每天 14w 请求。。什么语言都没问题。。。随便搞了。。
hicdn
2016-05-04 11:18:53 +08:00
ppwangs
2016-05-04 11:32:02 +08:00
根本不用架服务,静态文件就可以搞定。
找 jsonp 的接口,分分钟搞定
ericyl
2016-05-04 12:52:00 +08:00
aeshfawre
2016-05-04 12:59:24 +08:00
板瓦工 10 美元一年,20w 每日毫无压力,python 版,这是实盘运行着的.
换成 go 版本,估计 200w 每日无压力.
这个获取外网 IP 的功能,以前用的 ip138 的,腾讯的,阿里的,查询多了被屏蔽,实际上自己搭一个简直不要太简单.
GPU
2016-05-04 14:27:53 +08:00
@msg7086 nginx 还可以弄 BT Tracker ? 有相关吗?

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

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

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

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

© 2021 V2EX