我看阿里雙11技術架構:用有限的資源解決更多的問題

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我是道延,前幾天剛剛發表了一篇關於架構師的思考:"},{"type":"link","attrs":{"href":"http:\/\/mp.weixin.qq.com\/s?__biz=MzU4NzU0MDIzOQ==&mid=2247492341&idx=1&sn=95d4992a5669abe06f66ef018e509ef6&chksm=fde8d095ca9f59830996e01e5cc7387af3a53aa0aac50400e683f11c0994bf98ab5e8ec955b0&scene=21#wechat_redirect","title":null,"type":null},"content":[{"type":"text","text":"我對技術架構的理解與架構師角色的思考"}]},{"type":"text","text":",收到了很多同學的回覆,大家對於我提到的一些觀點也深有共鳴。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/89\/89aa9e07f0a161572b5f8abd95cd72df.jpeg","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最近幾年一直在業務平臺,經歷了四次雙十一大促,做了三年集團雙 11 大隊長,也經歷了星環架構升級,希望把這個過程的經歷和想法,分享給大家。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我還記得,當年拿到雙 11 技術架構的命題時,我腦袋中一片空白,後面通過向前輩們學習才慢慢了解:"},{"type":"text","marks":[{"type":"strong"}],"text":"雙 11 技術本質上其實就一個問題,如何用有限的資源解決更多的問題,核心其實是一個平衡。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c7\/c731ac01e53dccd0f30141caaa4c6611.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們的資源有哪些?業務資源、開發資源、硬件資源。業務資源我要投錢,投到什麼地方產生更大的效果,這是業務要去考慮的事。開發資源是什麼?雙 11 的需求真的是非常非常多,要做什麼、不做什麼,需要腦袋中非常清晰。"},{"type":"text","marks":[{"type":"strong"}],"text":"一定要有優先級,一定要有取捨,什麼需求我投 100 個人我也必須做,哪個需求哪怕一個人就能做完,但我也不會去投入人力。"},{"type":"text","text":"這個取捨的根源就是要去平衡,要想到怎麼樣解決資源的問題。怎麼用有限的預算解決更多的事?應該保什麼?如果出問題,應對措施是什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下沉到技術裏面去看,有成本、有效率、有穩定。雙11我們會談很多,但歸結到根源其實就是4個詞——容量、預案、預熱、限流。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"容量"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"容量是非常關鍵的。比如說今年定好雙 11 交易 60 萬的目標,交易 60 萬,那導購多少萬,把它定義清楚,然後去編排我們這麼多核心應用,應該需要的機器數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"編排好以後,肯定有些地方是捉襟見肘的,有些地方差距很大。大家也會面臨這個問題,第一個是硬核措施性能優化。性能優化在阿里一直在提,從 2017 年開始我們提的特別多,最後證實新的優化帶來的效果是非常好的。我給大家舉個例子,以電商爲例,如果你的整個交易呈現了一個大 V 字型,那麼營銷整個 Load 偏高,因爲被打爆了。營銷 Load 高了以後,反向的造成了購物車、數據庫打爆,購物車數據庫打爆以後再反向造成重複下單,其實它是一個循環過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"出現這個問題的原因是什麼?本質上就是容量沒有設計到位。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"遇到容量問題後,很多同學想到的是擴容,那是最後迫不得已的手段。如果你對數據庫瞭解,你就能想出不一樣的策略來解決這個問題。用成本解決問題都是比較原始的,"},{"type":"text","marks":[{"type":"strong"}],"text":"要換一種思路,真正能用技術解決問題,同時再輔助一點成本,我覺得這是最好的。"},{"type":"text","text":"數據庫我們當時做了一個優化,到現在爲止都特別好。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"預熱"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"預熱就是技術的容量預案,預熱限流。雙 11 爲什麼要做預熱?其實跟我們的流量模型有關。很多時候我們的流量模型是自然上去慢慢的下來,但雙 11 不是,雙 11 可能從 2000 多直接到 60 萬,然後維持住,慢慢下來。這個過程就相當於短跑。其他業務按照自然流量都是長跑,短跑你必須得熱身,沒有熱身,起步階段可能就出大問題。比如說抽筋等各種各樣的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"預熱要預熱什麼?我們當時做了很多預熱,數據的預熱,應用的預熱,連接的預熱。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"先講數據的預熱。我們訪問一個數據,它的數據鏈路太長了,其實離應用越近可能效果越好。數據預測要看什麼數據,該怎麼預熱?首先把量特別大的數據,跟用戶相關的數據,就是購物車、紅包、卡券,做數據庫的預熱。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"第一步:模擬用戶查詢,查詢這個數據庫,把它的數據放到我們的 BP 裏面。"},{"type":"text","text":"我們提前做了這個動作,不要到脈衝時再去查磁盤,磁盤永遠跟不上我們的內存。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"第二步:很多應用都是靠 Tair 擋住的,Tair 一旦失效數據庫就掛掉,因爲數據庫擋不住,這時要提前把數據預熱到 Tair 裏面。"},{"type":"text","text":"今年大概五六十個應用做了 Tair 的預熱,包括 IC、UIC,包括我們的庫存,包括我們的履約,非常多的 Tair 預熱。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"第三步驟:要做一個 Java 本地內存的預熱, UMP 的 GCH 做的本地預熱。"},{"type":"text","text":"UMP 機器特別多,要預熱的機器可能 2 萬多臺,你怎麼能做到每一臺預熱上去?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先你要有地方生成這個文件,因爲文件的一致性是最好的,我要麼全加載,要麼沒加載,我們採用的是用文件方式加載。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然後會有 100 臺機器左右,可能現在只有 60 臺機器來生成這個文件,生成一個個小的文件,用 MapReduce 的思想,通過一兩臺機器 Reduce 出一個大文件出來,通過蜻蜓,用 P2P 的方式分發到每臺機器上。你這麼大的文件,最大大概有 5 個 G 的文件,2 萬多臺機器分發,整個網絡會被打爆的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現在我們改成用流式的方式,就是生成 25 個文件,然後流式的去做這個事,最終做完了以後 Check,每一個做完的結果都要校驗。優惠數據是不能出任何問題,出問題的話用戶的購買就會出很大的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"還有一個最關鍵的預熱。我們很多代碼裏面你們翻一翻會寫一個代碼叫 IF 雙 11,然後括號,這段叫雙 11 特殊邏輯,平時都用不到的,只有雙11的時候才能用到。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今天我跟大家完整的講一遍預熱爲什麼要做。到現在爲止,2020年雙11過完了,雙12也過完了,我們早已經能比較體系化的做預熱,有專門的產品解決所有的預熱問題。預熱可能也只有在阿里才能遇到,因爲有足夠大的業務場景和不一樣的流量模型,這些複雜的場景在別的公司可能都不太會有。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"春晚支付寶做過,淘寶做過,當主持人說“3、2、1 搶紅包”,全國人民開始拿出手機搶紅包時,如果你不考慮預熱場景,系統就雪崩,那是崩的非常快。這個時候像支付寶,一定會做大量數據預熱工作,包括應用的預熱工作,你們沒有感知到但是已經提前完成了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果預熱的問題沒解決好依然會遇到雪崩。雪崩是很可怕的一件事情,你救都救不回來了,眼睜睜的看着它一個個沒掉,你只能做前面的限流。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"限流"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"限流是一門很深的學問,如果限流做的好,系統是打不爆的,只是說處於一個限流狀態,返回前端,比如說“系統繁忙”,但如果系統出現了白屏,白屏代表系統直接雪崩了,這就是限流的問題。大家喫過虧就知道限流裏面非常多的學問"},{"type":"text","marks":[{"type":"strong"}],"text":"。你限什麼,什麼時候限,你要保證自己不掛,還要保證別人不要掛。"},{"type":"text","text":"限流限多了會出現各種各樣的狀態,所以限流大家應該好好去看一下。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"預案"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在交易系統中大概有七八千個預案了。預案多了以後,就像飛行員駕駛艙裏面的按鈕。但預案是一定要做,很多預案是跟用戶體驗、跟性能相關的。我們日常爲了埋點、拿到系統更多的數據,在系統裏做了很多跟業務無關的功能,等到大促時這些功能都必須關閉,要通過預案系統去做。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"還有一些業務,比如說雙 11 的時候,把立項降級掉,有些門檻必須降低,有些門檻必須提高,這都是業務預案。預案分業務預案和系統預案。系統預案我們都可以把它提前降掉,業務預案是根據業務預測的需求做一些配置。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年我們遇到一些預案影響用戶體驗的問題。我們做了價格一致性,從淘寶首頁和推薦頁看到的券後價,到你的購物車和詳情,最後下單,價格是一致的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們當時考慮到一些其他的因素,因爲容量的問題我們提前降級了,恢復成一個單品優惠,這時用戶看到的價格可能是不太一致的,比如可能在搜索推薦裏面看到的是 600,下單可能看到的是 550 或者是 650,反而影響了用戶體驗。明年的雙 11 我們會針對用戶體驗的預案做一些控制,儘量通過技術確保用戶體驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雙 11 跟大家的應用有關係時,除了注意本身的功能開發以外,包括功能測試、安全測試、資損測試。需求完成以後,"},{"type":"text","marks":[{"type":"strong"}],"text":"跟穩定性相關的就四個詞—容量、預案、預熱、限流。每個都很講究,把每個點做到位,整個系統就會非常的平穩。現在這四個詞基本上都有工具的方式來支撐大家。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"比如:應用高可用服務 AHAS 提供應用架構探測感知、故障注入式高可用能力評測和流控降級高可用防護能力;性能測試 PTS 可以真實模擬多用戶高併發訪問業務場景,結合監控(ARMS)、流控等產品提供一站式高可用能力,高效檢驗和管理業務性能。這些都是做預案、預熱、限流的很好用的雲原生產品,是經過阿里內部大規模實踐驗證過的,也是對外商業化口碑不錯的產品。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/ce\/ce3748022cbb0a08a71ff2dce3c0aebb.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"AHAS產品方案架構圖"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"單元化架構(異地多活、同城容災)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這是阿里一位技術大牛畢玄的代表作:單元化。我們用的比較多,我對它有新的認識後,發現還可以做一些更多不一樣的優化,也給大家介紹一下單元化架構到底解決什麼樣的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"單元化架構本身就是解決一個地域裝不下阿里的所有業務,必須要搬到其他地方,然後才能解決阿里現有的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/34\/3467c713970499210569767c6891c97b.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個東西是 2013 年開始,2014 年就逐步的上線,到 2015 年單元化二期徹底的做完終於解決了這個問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們現在整體的架構通過一箇中心兩個單元的方式來支撐阿里的整個流量。要能做到用戶體驗基本不受太大的影響,單元化才能算比較大的成功。同時單元化裏面帶來了一個新的東西叫同城容災。"},{"type":"text","marks":[{"type":"strong"}],"text":"同城容災難度不大,單元化容災難度非常大。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我跟大家分享這裏面的難度,我們的應用只有兩種,一種叫有狀態應用,一種叫無狀態應用。無狀態應用在哪邊部署,你就近接入就可以了。"},{"type":"text","marks":[{"type":"strong"}],"text":"有狀態應用必須取決於有狀態的那個點在哪,其他的地方只能回到這個有狀態的地方來進行訪問。"},{"type":"text","text":"我們哪些地方是有狀態的?數據庫有狀態, LDB 有狀態,消息有狀態,只要帶持久化和存儲的都是有狀態的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同城容災時,我們的數據庫其實是單邊運行的,消息也是單邊運行的,LDB 也是單邊運行的。在同城的情況下,應用是兩邊可以同時接受流量,但我的有狀態是單邊的,當 A 出現問題的時候,我把它切換到 B,然後我上面還是對外統一提供服務,就是同城比較簡單。同城比較簡單還有一個延時,因爲是同城,延時基本上都在一毫秒甚至一毫秒以內。所以你即使從 A 切到 B,應用到 B 之間的整個 RT 都非常短,整個沒有太大的影響。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"傳統的行業、政府、運營商、金融基本上都是同城容災的模式,甚至是同個地方有 3 個機房,有 4 個機房,5 個機房,其實沒有關係,都叫同城。同城好做,就是 RT 短,變成異地單元化以後就特別難做了,就是因爲 RT 太長了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前段時間跟某客戶去溝通,客戶說自己是單元化的。我說你們的機房相隔有多遠?他說可能也就 30 公里到 50 公里,我說能不能把機房搬到 300 公里以外甚至 500 公里以外?他說搬過去以後可能就會受到比較大的影響了,這就是一個非單元化的架構,它就是個同城。"},{"type":"text","marks":[{"type":"strong"}],"text":"同城和單元化的區別就是 RT,你能不能把你的機房搬到 1000 公里以外,搬了 1000 公里以外還能正常的運行,你就是單元化的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"單元化講究的是什麼?封閉。我這個單元化裏面存在30%的用戶流量,這30%的用戶流量不會亂竄,都是在本地進行的,所以這叫單元化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本地進行代表了什麼?有可能狀態不太一致。比如說 A 用戶我在中心的時候下單了,這時候單元化切流把那部分 A 的用戶切到了單元去。切過去單元的時候,單元看不到這筆訂單,用戶他會比較慌的,說白了就是訂單丟失了。所以需要針對整個單元化的數據,進行一個全網的 DRC 的環狀複製。在C處產生的數據要回到中心,同時中心要把這部分數據發到D處,就每個點都能看到全量的數據,這樣你的流量才能飄,否則你飄不掉了,你只能固定在某個地方,這是跟用戶相關的,包括購物車、訂單、用戶的紅包、卡券,都是這麼做的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"還有部分是飄不掉的,比如說商家類的,商家的商品,商家的庫存,這個跟商家緊密相關,跟消費者沒關係。比如商家發佈一個商品都是在中心發佈的,這個時候單元怎麼辦?我們就通過複製的方式讓單元看到這個商品的數據,所以大家會有一個大概 30~50 毫秒的延遲,包括庫存。庫存是嚴格要求一致性的,我們扣庫存的時候必須跨長傳鏈路到中心去扣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個是我們整個單元化交易裏面最大的挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所有的都可以封閉在一個單元內部,包括交易、用戶的購物車訂單、資金、紅包都可以在一個單元內封閉掉,商品查詢時也查本地,從中心把數據同步過來,但庫存是在中心扣的,這是我們現在單元化面臨的挑戰。今年我們也在盡力解決這個問題,其實難度很大。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"還有一個問題我們也在解決,阿里是個生態,外面還有商家,有 ISV,有很多下游的 ERP 供應鏈,他們都是跟阿里的系統連接起來的。我們會面臨第二個問題:怎麼能把阿里生態外的系統也做到容災。這就挑戰更大了,因爲商家的系統不像阿里這麼靈活,商家系統對於網絡要求都是用防火牆的配置來配置 IP 的,如果我飄到別的地方,我的公告 IP 一定發生變化,我的 RT 一定也會發生變化,這樣它的系統就要改變很多配置。 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以單元化這項工作裏面這兩個問題比較棘手,第一個庫存的問題我們已經逐步在解決,第二個問題不是太好解,等後面有一些新思路的時候再跟大家分享。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文轉載自:阿里巴巴中間件(ID:Aliware_2018)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文鏈接:"},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/9qZfkm9NCx3GwquFyMiKfw","title":"xxx","type":null},"content":[{"type":"text","text":"我看阿里雙11技術架構:用有限的資源解決更多的問題"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章