从一个Django应用逐渐支撑起3亿用户,Pinterest是怎么做到的

django.jpeg

Python & Django 是很多Python爱好者用来搭建网站的入门框架选择,很多人会评价Django是一个庞大的轮子,太重又不灵活,但实际上国内外有很多使用Django的成功例子,例如去年就已经达到30亿注册用户、7亿月活的Instagram,已经从 Python 2.7 + Django 1.3 升级到Python3了,Instagram升级期间谈到Django仍然没有成为瓶颈所在。

用Python作为后端还有知乎、豆瓣、饿了么、Dropbox、Uber、Reddit、Youtube、Quora等等,今天谈谈另外一个著名的例子:Pinterest,现在也有3亿月活了。

这个案例是Pinterest大数据及机器学习平台负责人武永胜即将在InfoQ举办的ArchSummit全球架构师峰会(7月6-9日,深圳)的其中一门分享,这里强烈推荐各位有机会一定要去参加,ArchSummit业界口碑一直很好,今年已经是第七届,这次邀请了100+国内外顶尖架构师前来分享各自的核心架构实践

先介绍武永胜:

武永胜目前在Pinterest领导大数据和机器学习平台团队,提供统一的大数据和机器学习平台,帮助工程师们更自信地用机器学习平台来解决复杂问题。在此之前,永胜是基础设施团队的一名早期工程师,帮助Pinterest从大约千万用户扩展到3亿月活。

此外,他还率队带领Pinterest度过微服务架构转型期,从基于lucene/solr的搜索系统到高可伸缩,高效率,高性能和可扩展的本土搜索基础架构,并为Pinterest所有工程师提供异步任务处理系统,分布式缓存,存储和服务系统。

在加入Pinterest之前,永胜在Twitter,Salesforce,Seven Networks和Oracle工作过,永胜拥有斯坦福大学计算机科学硕士学位。

武永胜届时在ArchSummit有两场分享:《Pinterest高可扩展基础设施架构技术点》和《Pinterest大数据平台的当下和未来》,我比较期待《架构技术点》,演讲摘要很丰富,这里和大家分享:

武永胜老师会分享在过去8年他们服务 200-300M MAUs 过程中,是如何扩展 Pinterest 在线基础设施架构的。经过多年迭代,Pinterest 的在线基础设施从2010年的一个基于单个 MySQL 实例的 Python Django 应用,不断演进成最新的基于微服务的架构体系。

武永胜会分享使 Pinterest 能够横向扩展,为数以亿计的用户提供卓越用户体验的关键技术点:

  • 微服务框架,由 Twitter Finagle 提供支持,具有高度弹性的服务发现和基于 Apache Zookeeper 构建的实时配置管理系统。

  • Pinlater 是一个异步任务处理框架,由 Pinterest 开源,包含幂等/交换性,并允许它们执行非关键部分的请求处理逻辑,以提供高质量的在线用户体验。

  • 分布式缓存,存储和服务系统:

  • Pinterest 采用了​​由 Facebook 开源的缓存代理 Mcrouter,以实现 AZ 失效弹性,高度一致和高性能的分布式缓存系统。

  • Pinterest 使用 Apache HBase 和 MySQL 将分散式存储系统与集成缓存层(代号为 Zen)分离开来,通过图形数据模型以自助服务的方式实现快速产品创新。这个系统受 Facebook 的 TAO 和 Dragon 的启发。

  • Scorpion Serving 是一款由 C++,Folly 和 RocksDB 提供支持的高吞吐量,低延迟 ML 服务系统,每秒可以获得数千万用户配对,P99延迟小于20ms。

  • Muse: 这是Pinterest内部研发的搜索引擎,采用 C++实现,Pinterest 用于替代 Apache Solr 和 Apache Lucene,以提供高吞吐量,低延迟大规模搜索,具有实时索引功能,为整个Pinterest 工程提供服务。

  • 随着业务的增长,Pinterest 需要解决单个地理区域系统故障的业务连续性风险。永胜也将分享他们必须做出的主要变化,以确保 Pinterest 能够在多个地理位置之间积极主动地进行服务,并且在缓存和持久存储层之间具有强大的一致性。

除上述分享之外,ArchSummit还有很多值得推荐的内容,例如:

  • *Facebook:机器学习在安全与完整的探索以及万亿时空数据处理决策

  • Google:推荐系统设计及TensorFlow最佳实践

  • Netflix:FaaS最新落地进展

  • IBM:Istio-构造、守护、监控微服务的守护神

  • 腾讯:微信数百亿消息万级机器背后的AI调度

  • 阿里:跨境业务动态广告算法迭代

  • 百度:智能流量监控模型和自动异常检测

  • 滴滴:地图引擎架构实践和AI技术应用

  • 微博:个性化推荐引擎框架与大规模实时协同推荐

  • 余额宝:大规模服务化的技术创新

  • 微众银行:金融业务中区块链技术架构解析

...

详情可以识别访问官网了解大会日程,如果报名遇到问题,欢迎联系小助手豆包,可致电:17326843116(微信同号)。

推荐阅读更多精彩内容