Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
被收购的Twitter微服务架构有多复杂? - Reddit
22-11-19
banq
Twitter严重依赖
微服务
,但在拥有数千名工程师掌舵的规模如此之大的情况下,Twitter 实际上有多复杂吗?
1、问题是规模:
任何人都可以建立像 twitter 这样的网站,但是您需要大量的基础设施来跟上他们处理的流量。
规模
分布式系统
的复杂程度。共享和共识协议可能很难调试,因为涉及到数千个节点
Twitter 的规模是他们的服务器是本地的……他们不使用 AWS。
Twitter 已有十年历史,因此多年来每位 CEO 都在遗留代码的基础上进行了大量权衡。
2、这非常简单,您可以找到有关如何构建它的教程并在几天内完成。
它只是微服务之上的一些 React SPA,带有 docker,然后是用于存储的 mongodb,无服务器云函数后端,与graph TRPC 和 Typescript 的通信以!那旧是推特
架构
,十分简单。
他们可以终止 graphql 服务,但是一切还正常。
马斯克说:有 500 个图表用 graphql 为一个简单的时间线绘制。这就是 Twitter 如此缓慢的原因。
3、微服务永远不会保持微状态,通常会随着时间的推移变得越来越大。
Twitter 最喜欢使用的微服务数量有数百个。Twitter 的前端功能可能只是其中的一小部分。其余的是诸如分析工具、反向代理、数据聚合、pub sub、cdn 等之类的东西......除非你在那里工作,否则没有真正的了解方式,但如果你真的想要细节,我相信他们已经发布了一些白皮书。
4、问题从来都不是应用程序的基本架构,而是优化整个世界的应用程序性能的复杂性,同时还要保持用户体验一致,无论位置如何。更不用说事后涉及数据分析的大量团队。这些公司中的大多数不是“应用app公司”,而是数据公司。
1
数据工程
架构师观点
微服务架构