【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

在 Heroku 上扩展 ipify 服务

  • 2018-02-17
  • 本文字数:975 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

ipify 服务在 Heroku 上已扩展到超过 300 亿次请求。近期,该服务的开发者分享了他的经验。ipify 是一种在线服务,应用可调用ipify 提供的API,获取应用自身的外部IP 地址。该服务最初使用node.js 编写。为获得更好的可扩展性,服务已使用Go 重写。

ipify 的创建者是 Randall Degges ,最初意在解决他在一个项目开发中的需求。第一版是使用 node.js 编写的,并部署在 Heroku 上。该服务可用使用 curl 等工具访问,也可编程使用。服务网站是一个简单的前端,使用 Amazon S3 存储桶,部署在 CloudFront后端上。Heroku 提供的服务单元称为“ dyno ”,最小服务单元为 512 MB 内存和单个 CPU。dyno 的维护代价低,是一种可选方案。dyno 在进程故障时会自动重启,并且前端部署了负载均衡器。最小服务单元的费用为每月约 7 美元。Heroku宿主在AWS 上,由此可使用AWS 提供的可靠性。

ipify 已得到了广泛的使用,面临着可扩展性上的问题。虽然可以通过添加更多的硬件解决该问题,但是一些调查显示,通量仅为每秒 10 次请求。服务曾采用 node.js 的 cluster 模块做了改进,实现加载多个进程以更好地利用多核系统。但是这一改进并不足以处理不断增长的服务流量。服务进而使用 Go 做了重写。出于性能上的考虑,重写时在众多方案中选用了由 Go 提供的 httprouter 软件包。重写使服务性能得到了显著的改善,占用内存更少(仅约 5 MB),并可在单 dyno 部署上达到每秒处理超过 2000 次请求。此外,在字符串处理上的改进,进一步提高了服务的性能,使得每秒处理的请求数增加了 1000 次。服务的重写也降低了代价,ipify 的运行仅需单 dyno 部署即可。宿主在 AWS 上的 ipinfo.io 等类似服务,也面对同样的可扩展性问题。由于一种解决方案是使用付费更高的服务,因此可扩展性问题会转化为需要付出更高的代价。

ipify 现在不仅被一些软件开发人员正常使用,也被一些恶意软件编写人员利用。这导致了大量的突发峰值流量,也导致该服务被一些反病毒软件商的公共阻止列表所屏蔽。当前,服务使用的最高峰值约每月300 亿次请求,平均响应时间介于1 到20 毫秒。与其它一些服务不同, ipify 不做使用速率上的限制,同样也提供地理定位。

ipify 的客户端软件库以多种语言的形式提供

查看英文原文: Scaling the ipify Service on Heroku

2018-02-17 17:371082
用户头像

发布了 391 篇内容, 共 127.2 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营1期第1周:架构方法 - 总结

piercebn

极客大学架构师训练营

提交项目到gitee报错Push to origin/master was rejected的解决办法

Geek_416be1

多方计算——打开区块链应用新场景

CECBC

区块链 大数据

面试官:谈一下你对DDD的理解?我:马什么梅?

艾小仙

Java 架构 编程语言 领域驱动设计 DDD

2020.09.14-2020.09.20学习总结

icydolphin

极客大学架构师训练营

第一周总结

一个节点

极客大学架构师训练营

微服务 API 网关kong的爬坑之路

夏目

微服务 kong

Week 1 命题作业

阿泰

拥抱K8S系列-08-通过rancher部署nginx应用

张无忌

nginx Kubernetes rancher

从 Java 中的零拷贝到五种IO模型

Rayjun

Java io

大作业

李朋

踩坑记 | 多aar下修改常量的一个小坑

哈利迪

android

机器学习在滴滴网络定位中的探索和实践

滴滴技术

人工智能 学习 滴滴技术

让冰城的温暖冬天,不再有“隐秘的角落”

脑极体

架构师训练营期末大作业

jiangnanage

架构师培训期末大作业

小蚂蚁

架构师训练营 - 同城快递架构文档

陈皮

司法区块链破解互联网案件审判难

CECBC

区块链技术 不可篡改 法院

一周信创舆情观察(8.24~9.13)

统小信uos

Atlassian 金融企业敏捷转型线上峰会剧透来袭!

Atlassian

项目管理 DevOps 敏捷 金融

迷茫吗?来看这15个程序员的回答,比你搜集多少资料都有用

小Q

Java 程序员 架构 面试 职业规划

大作业:用思维导图画出训练营知识点

chenzt

从开源协议到谷歌禁用华为、Docker实体清单事件

艾小仙

GitHub Linux 开源 编程语言

架构师训练营 - 第 1 周课后作业(1 期)

Pudding

我看过最长的图,是百度绘制的AI蓝图

脑极体

架构师训练营 - 大作业二

桔子

云栖大会CDN技术专场:如何构建企业级内容分发加速体验?

阿里云Edge Plus

CDN

不正经的计算机专业学生拍摄照片分享

王荣胜

摄影

洞爷湖-安静与灵动

刘旭东

摄影 摄影征文 洞爷湖 北海道

架构训练营 - 第1周课后作业 - 学习总结

Pudding

期末大作业(一)

武鹏

在Heroku上扩展ipify服务_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章