每天约 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 查询网站的结果,但这些网站有时会触发保护系统,返回了错误的结果;

16727 次点击
所在节点    DevOps
112 条回复
dapang1221
2016-05-03 23:18:29 +08:00
我感觉直接用 python 都行。。最高 50qps ,而且也没有啥计算和 io 的占用,根本没啥压力。。
abelyao
2016-05-03 23:19:52 +08:00
@dapang1221 啥语言都行… 但只要用到了服务端,就得有个部署… 对不对……
JiShuTui
2016-05-03 23:21:00 +08:00
14 万的请求不多,随便什么语言随便写都行吧
just1
2016-05-03 23:21:28 +08:00
随便什么样配置的都可以做到啊。
daocloud 自己做个 docker ,用免费额度。
灵雀云也可以,有免费额度
或者好雨云 php 或者其他语言部署一下
JiShuTui
2016-05-03 23:22:08 +08:00
就用最好部署的 php 吧,一个.php 文件,两行代码搞定
dapang1221
2016-05-03 23:23:17 +08:00
@abelyao php 的话直接买个虚拟主机就行。。你查查万网还有没有免费两年的虚拟主机,反正之前有,不知道现在如何了,这个也是够用的……
kingwkb
2016-05-03 23:23:33 +08:00
我们直接使用 nginx 的 echo
scys
2016-05-03 23:32:13 +08:00
丢个 Go 写的 IP 获取 API -_- Cloudflare 作为前端,你那个访问量不会有任何压力。
https://only-pass.com/api/ipgeo 直接访问,返回 json -_- 用的是 geoip2 的免费解释地理位置用。

现在延时全国估计在 300ms 内
scys
2016-05-03 23:34:10 +08:00
manhere
2016-05-03 23:44:07 +08:00
这就是个简单的 ddns 啊, 14 万请求随便搞个 vps 就可以了
abelyao
2016-05-03 23:55:28 +08:00
@just1 @dapang1221 每分钟 100 次的访问量确实不大,就怕类似阿里云的那种免费主机,检测到这样的访问量以为是被 DDOS 了,直接拉黑洞里去……

@JiShuTui 关键不在用什么语言写… 是怎么部署这个写完的代码…

@scys 我靠!难道这个就是在寻找的方案!话说 CF 不会缓存结果吗?
just1
2016-05-03 23:57:25 +08:00
直接找个 ip 的 api
比如 ipinfo.io
abelyao
2016-05-03 23:58:17 +08:00
@scys 请教一下具体实现的方式?如果 CF 做个前端,但还是要到后端拿 IP ,那并不能缓解后端服务器的压力啊… 能不能说一下具体思路,谢谢!!
abelyao
2016-05-04 00:03:01 +08:00
@just1 免费的每天 1000 次请求,每天 10000 次请求是 50 刀 /月,这价格随便哪个自己搭建的方案都比这个成本低…
LGA1150
2016-05-04 00:10:08 +08:00
scys
2016-05-04 00:17:26 +08:00
@abelyao 按照你的要求,其实没有什么压力。大家都说了,没有负载不起来的语言。
前端用 CF 只是考虑以后用备案域名,上百度云减速,做全球 CDN 罢了。
CDN 你可以设置为默认缓存时间,而且 CF 的缓存算法不算烂,所以不担心这个问题。
abelyao
2016-05-04 00:19:18 +08:00
@LGA1150 卧槽… 这 api 是 google 的?
LGA1150
2016-05-04 00:20:59 +08:00
@abelyao 是,不过部分地区的二级运营商可能因流量穿透导致 IP 不符
dapang1221
2016-05-04 00:21:32 +08:00
@abelyao 才这么点访问量不至于被当做 ddos 的……
kofip
2016-05-04 00:22:57 +08:00

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

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

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

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

© 2021 V2EX