在短短五个月内,Meta 如何从零开始,利用单体架构成功开发出 Threads 应用,以挑战 Twitter 的市场地位?本文将揭示 Meta 在这一过程中所采取的策略和技术细节。
背景与挑战
2023 年 1 月,Meta 面临了一项挑战:在数月内打造一款微博服务,以期与 Twitter 一较高下。为了应对这一挑战,Meta 迅速组建了一支精干的团队,并于 7 月份成功推出了一款全新的社交网络应用——Threads。
价值与里程碑
Threads 应用的开发理念围绕着四个基本价值:强调文本内容、延续 Instagram 设计语言、开放性和优先考虑创作者需求。基于这些价值主张,Meta 勾勒出了绝对最小产品(MVP)的蓝图,并设定了四个期望达成的里程碑。
- 第一个里程碑:构建最基础的应用,实现用户登录、发表纯文本帖子等功能。
- 第二个里程碑:为应用程序添加基本要素,如浏览动态、查看通知和访问个人资料的标签。
- 第三个里程碑:完善服务功能,如人物搜索和全屏查看器,深入探索对话内容管理。
- 第四个里程碑:实现与 Fediverse 的互操作性,接近最终的发布候选状态。
加快开发速度
Meta 的信心源于 Instagram 已有的基础设施和产品。他们巧妙地重用了 Instagram 的分享功能,将构建一个全新的基于文本的社交网络的复杂问题转化为如何定制 Instagram 的信息流来展示新的文本帖子。
以下是 Meta 加快开发速度的几个关键点:
- 重用 Instagram 的设计:Meta 借鉴了 Instagram 的设计,尽可能地进行精准复用,只在必要时进行重新构建。
- 单体架构:Meta 通常重视单体二进制文件及其单体代码库。Instagram 的业务逻辑集中在一个叫作 Distillery 的 Python 二进制文件中,与 Meta 更大的单体——一个庞大的 PHP 或 Hack 二进制文件 WWW——通信。
- 简化开发过程:在面临紧迫的发布时间表时,Meta 通过简化开发过程,将选择范围缩小到最核心的要素,从而加快了开发速度。
Threads 的技术栈
以下是 Threads 技术栈的概览:
- Distillery:Instagram 的业务逻辑集中在一个叫作 Distillery 的 Python 二进制文件中,是世界上最大规模的 Django 部署之一。
- 数据存储:用户数据被存储在多个系统中,其中最关键的是 TAO(一个写入缓存系统,基于图数据模型)和 UDB(一个分片的 MySQL 集群)。
总结
Meta 利用单体架构和 Instagram 的基础设施,在短短五个月内成功开发了 Threads 应用。这一过程不仅体现了 Meta 的技术实力,也展示了他们在面对挑战时的高效应对策略。Threads 的推出,无疑为社交网络市场带来了新的竞争格局。
Views: 0