Twitter的支撑架构:扩展网络与存储并提供服务

根据近期Twitter工程博客上的一篇博文,Twitter作为社会网络和在线新闻服务创建于2006年,在那个时期,“统治数据中心”的是企业级实体厂商所提供的硬件。在Twitter运行的头十年中,快速增长的用户群已对硬件层提出了很多工程上的挑战。虽然Twitter在公共云上“运行良好”,但是他们已经开始重点投资自身的私营架构。至2010年,Twitter已从第三方的主机托管服务迁移到自身私营的数据中心架构,该数据中心架构在随后六年中“持续地设计和更新……有效地利用了技术和硬件的最新开放标准”。

至2010底,Twitter最终完成了首个内部网络架构,从设计上解决了在第三方主机托管架构中所遇到的扩展性和服务问题。最初,深度缓冲(Deep Buffer)机柜顶部(ToR,Top of Rack)交换机和电信级核心网络交换机的使用,使Twitter支持了2014年世界杯这样的全球事件所产生的前所未有的每秒交易(TPS,Transaction Per Second)量。在随后数年中,Twitter架构团队在五大洲部署了网络服务提供点 (PoPs,point-of-presence)。2015年,Twitter从传统的层次数据中心网络拓扑结构迁移到使用边界网关协议(BGP,Border Gateway Protocol)路由的Clos网络。Clos方法的显著优点包括:更小的设备单点故障的“波及范围”、更好的水平带宽扩展能力,以及由更低的CPU开销导致的更高路由性能。

超越原始规格和需求进行系统架构,并在流量趋向设计容量上限时迅速做出大刀阔斧的改进。 根据数据和指标做出正确的技术设计决策,并确保这些指标可被网络操作人员理解。这对于托管主机和云环境是尤为重要的。 并不存在所谓的“临时更改或变通方案”的东西。在很多情况下,变通方案会成为技术债务。
在Twitter架构中,45%的规模用于存储和消息。架构团队为内部用户提供了多种服务,包括:Hadoop集群、Twitter的Manhattan (Apache Cassandra-esque)分布式数据库集群、FlockDB图存储集群(使用了Gizzard和共享MySQL)、Blobstore集群、Twemcache及“Nighthawk”共享Redis缓存集群、DistributedLog消息集群(用于Heron的处理)以及关系存储(MySQL、PostgreSQL和Vertica)。在2010年曾使用Cassandra作为度量数据存储的解决方案,但是在2015年4月启用Manhattan后,就禁用了Cassandra。

几乎全部的Twitter主缓存已从“裸机”迁移到大规模部署的开源集群管理系统Apache Mesos上(Twitter也是Mesos代码库的主要贡献者之一)。推文的时间线缓存Haplo是尚未部署到Mesos的最重要组件。Haplo使用定制版的Redis实现。对于该缓存,最严峻的挑战在于可扩展性和性能,因为Twitter运行上百个集群,合计包速率可达3.2亿包/每秒,每秒为客户提供120GB的内容。为达到高吞吐量和低延迟的服务水平目标(SLO,Service Level Objective),工程师要持续测量系统的性能,寻找优化效率的方法。例如,Twitter工程师创建了一个测试缓存性能的开源工具rpc-perf,使用它可以更好地了解各种负载场景下缓存系统的运行情况。

存储和缓存实现中的主要经验教训包括:

为更好地处理特定的流量模式,Twitter的Manhattan分布式数据库中采用了额外的存储引擎(LSM,B+树等)。通过发送背压信号并允许查询过滤,防止了对存储层的滥用。 聚焦于为任务提供适合的工具,这意味合理领会所有可能的用例。“适合各种场景”的解决方案是很少起作用的。对个别极端案例的处理采用临时解决方案即可,无需过多考虑如何能省时省力。 迁移到Mesos对于Twitter是一个“巨大的运营成就”,这允许了对架构配置的编纂整理,并使得规划部署成为可能。规划部署用于维持缓存命中率,并避免导致持久化存储层故障的问题。 根据用户、推文、时间线等对缓存做逻辑分区,通常每个缓存集群都根据特定的用途做了优化。考虑到整个公司内有100多名Puppet提交者,对内部和社区最佳实践的文档工作已经成为“力量倍增器”。 归一的参考文档改进了代码交付的质量和速度。 当任务单和交流通道不足以满足交流的需要,或是不能表述要完成的工作整体情况时,需要保持正常的办公时间,这样员工可以提请援助(有时需要邀请),可进行一对一的交流。

本文转自d1net(转载)

时间: 2024-10-30 17:37:01

Twitter的支撑架构:扩展网络与存储并提供服务的相关文章

阿里云:大型互联网应用架构之分发和存储实践

1月31日,阿里云课堂在北京再次开课,聚焦于"大型互联网应用架构之分发和存储"的技术和实践分享.由阿里云Web平台组研发专家姚伟斌(花名:文景)和阿里云飞天存储服务研发高级专家李文兆担任讲师.14:00点不到,架构师.工程师和实践用户已经将260人的会场挤的满满当当,最后进来的小伙伴们只好站在了后排的通道中.现场为何如此火爆?这和议题密切相关.CDN和存储,前者是提升用户满意度,留存率和转化率的关键,后者是云计算最基础的服务之一.二者的重要性自然不言而喻. 阿里云CDN技术演变之路 众

Twitter可能已经宣布进军网络音乐领域

等你看到这篇文章时,Twitter可能已经宣布进军网络音乐领域.倘若如此,他们绝不会孤单--与之为伍的不乏科技行业最响当当的名字. 在市场猜测了多日后,Twitter周五推出了一个名为Twitter Music的页面.当然,这个页面没有任何功能,只是释放出了明确的信号:这款传言已久的服务即将成为现实.周五有人认为,这款服务将在周末上线,借助Coachella音乐节营造声势. 早先的报道表明,用户可以通过这款服务收听Twitter或网上其他地方最流行的歌曲.然而,即将推出或刚刚推出音乐服务的绝不只

程序员必看:性能大幅度提升的Twitter新系统架构

2013年8月3日<天空之城>在日本的热播创下每秒新增143119条推文的Twitter峰值记录,是Twitter平均每秒发推数(TPS)5700条的25倍. 值得注意的是,在这次毫无征兆的"洪峰"到来时,Twitter全新的系统平台并没有被潮水般涌来的推文堵塞而产生任何延迟甚至宕机. Twitter旧架构与新架构的性能对比 仅仅三年前,在2010年世界杯上,一个点球和一张红牌产生的"推文风暴"都可能导致Twitter服务暂时失去响应,号称地球脉搏的 T

应用程序性能的左右手:网络和存储I/O

应用程序的性能表现可能会随着系统管理员做出的决定而发生变化.对于网络.I/O.内存和CPU来说,企业需要根据自身需求作出选择.这篇文章是介绍影响虚拟应用程序性能表现因素系列文章的第二部分. 网络是应用程序之间相互通讯的桥梁,也是用户使用应用程序的前提条件.对于应用程序来说,网络是必要组成部分,但是应该如何在应用程序当中进行配置呢?我们都知道网络对于基础架构十分重要;然而,应用程序和基础架构在网络方面的需求并不完全相同.现在数据中心当中最为常见的网络带宽是1GB,除了网络备份之外,很少有应用程序能

H3C:全方位支撑“云”端网络

近年来,随着互联网上各类应用和业务的需求越来越高,云计算技术的发展可谓日新月异,传统网络技术.安全技术.存储技术.管理技术,都衍生出了相应的云网络技术.云安全技术.云存储技术乃至云管理技术等.在近期召开的2012年H3C新产品新技术巡展杭州站上,记者注意到,作为国内主要的网络设备商之一,H3C已经将技术研发的重心全面深入到了云计算网络的各个领域之中."三三一阵容"给力支撑云计算何谓"三三一阵容"?在今年的巡展活动中,H3C集中向用户展示了其三大"云网络&q

处理海量数据:网络规模存储设计的好处

考虑到这种前所未有的海量存储需求增长的预期,大型企业正在开始部署网络规模的架构:从而能够实现大规模的虚拟化.计算和存储功能.   增加存储的灵活性 网络规模的存储设计的一个基本特征是消除存储架构的瓶颈.一个单一入口点可能成为一个单点故障点,尤其是在云计算的存储需求方面.添加冗余的.昂贵的.高性能的组件,以改善这些瓶颈问题,是目前大多数服务提供商正在努力的方向,但这会非常迅速地增加成本和系统的复杂性.另一方面,一个横向扩展的网络规模系统设计能够使得在更便宜的.低能耗的硬件的所有节点之间分配数据.

NETGEAR解析NAS网络附加存储技术

NAS的中文名称是网络附加存储,是基于硬盘的专业存储技术.它可以直接接入计算机网络,为各种操作系统的客户端提供集中式的数据存取服务. NAS的优势 NAS的专业存储设计和为多种客户端服务的特点,让数据更加安全和便于访问.不像一般的存储设备,如U盘.1394接口存储或者CD / DVD,NAS拥有嵌入式操作系统.操作系统赋予NAS内置的智能,支持它独立的在网络上为各种客户端提供服务.NAS不需要依靠任何其他主机设备,不会出现当其他设备停机,NAS就不能访问的问题.另外,NAS包括了RAID技术,数

网络和存储协议的选择

在面对一个IT网络存储项目时,到底是该采用全 新的架构搭建,还是在现有架构上进行升级呢?这个问题我曾经很多次从理论角度进行权衡.很多人也许会觉得,搭建一套全新的架构可能并不困难,因为没有任何已有架构作为障碍或局限,而且IT管理员对新架构一般也不会反对.而事实上,决定采用新架构是很艰难的决策.因为如今可供选择的网络和存储协议数量 众多,与之相关的是选择网络和存储产品.而当我们讨论网络和存储协议这个话题时,经常会涉及到很重要的一个内容,即以太网光纤通道(Fibre Channel over Ethe

Timesten内存数据库架构扩展应用实践

文章讲的是Timesten内存数据库架构扩展应用实践,2014年4月10日-12日,第五届中国数据库技术大会(DTCC 2014)在北京五洲皇冠国际酒店拉开序幕.在为期三天的会议中,大会将围绕大数据应用.数据架构.数据管理.传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享.本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据.数据结构.数据治理与分析.商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要. ▲点击进入第五届中国数据库技术大会(