被收購的Twitter微服務架構有多複雜? - Reddit

banq發表於2022-11-19

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公司”,而是資料公司。




 

相關文章