首次揭秘!字节跳动基础架构技术迭代演进之路

时间:2021-11-05 00:56 作者:亚博顶级游戏娱乐平台官网
本文摘要:互联网科技公司的恒久稳定生长,离不开坚实的技术支撑。在全球拥有 15 亿月活用户的字节跳动,背后的技术支撑,离不开牢靠的基础架构和对技术明白深刻的技术人。现在主管字节跳动基础架构团队的是梁宇明,梁宇明 2010 年清华大学结业后加入 Hulu,曾担任 Hulu 中国数据与广告团队卖力人。 2018 年,梁宇明脱离 Hulu,加入字节跳动,成为字节跳动基础架构团队卖力人。

亚博游戏娱乐平台官网

互联网科技公司的恒久稳定生长,离不开坚实的技术支撑。在全球拥有 15 亿月活用户的字节跳动,背后的技术支撑,离不开牢靠的基础架构和对技术明白深刻的技术人。现在主管字节跳动基础架构团队的是梁宇明,梁宇明 2010 年清华大学结业后加入 Hulu,曾担任 Hulu 中国数据与广告团队卖力人。

2018 年,梁宇明脱离 Hulu,加入字节跳动,成为字节跳动基础架构团队卖力人。2019 年 12 月 6-7 日的 ArchSummit 全球架构师峰会(北京站),拥有富厚的技术架构实践治理履历的梁宇明将担任集会 Co-chair。

借此时机,我们采访了梁宇明,采访中,梁宇明分享了他这些年在事情方式、思考能力、技术洞察、技术治理上的履历,希望对大家有启发。InfoQ:您在 Hulu 事情多年,在 Hulu 哪些方面的收获对于对现在的事情很有资助?首先,Hulu 的履历资助我可以以动态变化的看法审视周边。

我是 2007 年在 Hulu 刚刚建设 4 个月的时候加入到 2018 年脱离 Hulu,历经了 Hulu 从初创期到高速发展期历经妨害逐步进入成熟的生命周期,到场了一段相对完整的企业生命周期。在差别的阶段,企业所展现出来的业务特征、人才结构、组织流程、技术体系有很是大的差别。这份履历让我学会了以动态变化的看法来审视周围,对于企业所处的阶段有更好的判断,进而可以做出越发适应生长阶段的技术决议。

其次,因为在初创期加入 Hulu,涉及到的技术栈相当对来说比力广泛,从搜索推荐到移动端开发再到大数据体系都有所涉猎,对于差别技术体系、业务体系的认知会使得做基础架构的时候可以越发明白业务需求,与业务告竣更深度的互助共赢。InfoQ:您认为 Hulu 和字节跳动两家公司有哪些异同?从文化上讲,两者有许多的相同点,也有些差别点。

相同之处在于,Hulu 的基本文化特征是强调 collaboration & consensus 而非 command & control,这一点与字节的始终创业、坦诚清晰、开放谦逊是很是一致的,一鸣提过一个理念,叫“Context,not Control”,两家公司都有比力强的自下而上推动革新的特征。差别之处在于字节越发敢为和突破,越发强调不设界限,而 Hulu 越发追求稳定,这个业务特征以及用户预期是很是相关的。从组织治理上来讲,两者有很是大的区别。Hulu 更像是经典的树状组织结构,一些重要共识需要上升到配合父节点告竣共识,而字节越发扁平化,构建的是网状链接,可以无需上升到 leader 层面快速告竣多团队的共识。

亚博顶级游戏娱乐平台官网

在 Hulu 要发挥重要作用需要很是熟悉 Hulu 的流程和机制,将自己的想法在一定的流程中寻求共识;而在字节需要建设越发广泛的毗连,通过毗连告竣共识,前者越发可预期,后者越发高效,适应了各自企业的生长阶段。从生长阶段来讲,两者也很是差别,Hulu 相对进入成熟期,业务模型趋于牢固,商业模式比力稳定,技术体系相对稳定,组织结构和组织流程也相对完善,越发强调的 integrity;字节仍旧处于高速生长期,业务模型、商业模式还在快速演进的阶段,越发强调能能突破敢继承,强调实验多种可能,在组织结构和组织流程上还在连续优化中。InfoQ:您认为字节的业务有什么样的特性,这些特性对基础架构发生了怎样的挑战?首先字节的业务模型很是的多元化,差别业务出现出很是纷歧样的特征。传统的信息流业务数据以及服务规模极大,对于系统的可扩展性和性能有很是高的要求;新型的飞书、教育等业务的数据模型很是庞大、系统的可用性、数据的一致性要求很是高。

这样截然差别的业务模型,使得基础架构很难通过较为精简的几套系统做到全面支持,需要更为庞大的产物矩阵。其次字节的规模性是很是大的,海内我们有几十万台顶配的物理服务器、数 EB 的存储的规模、数万微服务,而且传统信息流业务模型、中台化构建,使得字节业务架构体系很是庞大。

如何在系统稳定的前提下,提升系统的可观可控性,同时有降低系统成本是一个很大的挑战。最后从生长阶段上来讲,字节还处于高速生长的阶段,在做种种类型的探索,总体上来讲,我们期望只管淘汰对于业务的约束(虽然有些约束是更合理的),提供越发富厚的功效 / 特性来使得业务越发快速的迭代,而这种轻约束、重 feature 的期待对于基础架构的挑战尤为难题。InfoQ:应对这些挑战,字节跳动的基础架构有何思路?首先需要明确我们的优化目的:支持业务的快速迭代:针对字节当前业务生长阶段,为了更好地支持业务的快速迭代,需要做好这几件事:架构需要提供提供富厚的产物矩阵,提供研发最熟悉的接口,让业务研发可以最快速的上手,最快速的解决业务问题,而不是提供很是精简的系统,让业务方花时间去适配;在富厚的产物特性下,只管淘汰用户约束,例如我们对于业务使用 Redis 时的数据规模和数据结构不做太多约束,只管将需要做的优化下沉到基础架构侧,为了应对 Redis 的数据规模突破了 Redis Cluster 规模极限问题,我们自研了 Redis 集群化方案;只管将一些通用的能力下沉到基础架构侧完成,例如流量调理、单元化构建、系统容灾等。

体系结构连续升级换代:字节跳动急速生长使得早期的架构一定出现“糙快猛”的特性,体系结构的升级换代是很是关键的,为了字节更久远的生长,需要下定刻意给高速行驶的飞机换发念头,而非在已有系统上缝缝补补,所以体系结构的升级换代和支持短期业务增长是一样重要的目。


本文关键词:首次,揭秘,亚博顶级游戏娱乐平台官网,字节,跳动,基础,架构,技术,迭代

本文来源:亚博游戏娱乐平台官网-www.99lao.com