當前位置:
首頁 > 科技 > 面對億級並發,你會怎麼設計架構?

面對億級並發,你會怎麼設計架構?

面對高並發,許多架構師都有這樣一種糾結的情緒——怕它不來,又怕它亂來。

高並發,意味著大量活躍用戶在同一時間段訪問你的網站,大量的數據湧入你的伺服器,你的心一瞬間提到了嗓子眼。伺服器的處理和響應越來越慢,越來越慢……然後,它說,臣妾累了,有的請求就不處理了。客服那邊,不停有來自用戶的電話響起,運維開始向著伺服器祈禱。然而他們的懇求並沒有被聽到,伺服器,它崩了。這時候,運維哭了,架構師也哭了。

多麼甜蜜的疼痛。

如果沒有遇見過高並發,也是一種值得長吁一聲的遺憾,畢竟工作幾年不會處理高並發的比比皆是。若聽聞誰設計過扛得住 QPS 幾百萬的架構,怕是很多人都會發出這樣的問題:嚯!哪個大廠的大佬?

那麼,什麼樣級別的才算高並發?

有人說,千萬級別的 PV 吧。這話就外行了,我們看高並發的時候,不能光看 PV,還要看 QPS,即每秒響應請求數。如果你的 QPS 能夠以萬為單位,才算得上有底氣說自己高並發。至於那些處理幾百 QPS 就能崩掉的伺服器……

說起經典的高並發場景,那必須要數阿里的「雙 11」,騰訊和百度的紅包,以及微博的明星戀愛分手出軌一條龍。

2018 年 11 月 11 日,第十個「雙 11」。當日 0 點 21 秒,天貓「雙 11」總成交額突破 10 億元,24 時,累計實現銷售額 2135 億。你不妨猜猜,這場全民購物狂歡的背後,是每秒多少次並發響應?

2019 年,百度首次成為央視春晚獨家互動合作夥伴。根據百度官方數據,除夕當晚全球觀眾參與百度 APP 互動次數達到 208 億次,百度 DAU 峰值突破 3 億。

再說說微信,現在每年春節的樂趣之一就是在各個微信群里搶紅包。2017 年除夕,微信用戶共收發 142 億個紅包,當日 24 時,微信紅包祝福達到峰值,每秒收發 76 萬個。

最讓人心疼的還是微博程序員,因為指不定什麼時候明星們就突然戀愛分手出軌,吃瓜群眾瘋狂轉評贊導致伺服器宕機,程序員含淚加班擴容。

高並發十分考驗架構師功底,它也是分散式架構設計中必須考慮的因素之一。要知道,光靠伺服器堆是沒有出路的。

讓業務如絲般順滑,給用戶最好的交互體驗,是架構師們永恆的追求。但是很多公司都沒有高並發場景,作為架構師,想看業界怎麼優化的,網上一搜儘是扯犢子,沒幾個真正實踐過,全在嘴上談兵。又或者自身高可用經驗不足,面對迅速增長的業務帶來的高並發,只能手足無措。

想看看別人是怎麼面對高並發的?想知道別的公司是怎麼設計高可用架構的?不妨來QCon 北京 2019看看,這裡有多個可參考的實踐案例,乾貨滿滿,或許能對你有所啟發。

關鍵詞:高並發

演講:螞蟻金服面對億級並發場景的組件體系設計

演講嘉賓:螞蟻金服技術專家呂丹(凝睇)

從工具型的單體應用,演進到高可用、高性能、高靈敏且支撐眾多業務場景的超級 App,在這期間支付寶服務端核心組件矩陣與架構體系完成了彈性穩定的性能改造,並成功支撐「雙十一支付交易」及「新春紅包」等高並發業務場景。同時,相應的技術架構逐步得到沉澱並對外輸出,幫助更多傳統金融業務幫助面向移動互聯網的架構轉型,從而實現技術的可複製性與良好的應用能力。

演講:從高並發到極端並發:百度 Feed 與春晚紅包的高可用實踐

演講嘉賓:百度主任架構師吳永巍

百度 Feed 信息流推薦系統,過去幾年業務飛速發展,在流量高速增長、推薦機制複雜化的背景下,對系統高可用的挑戰大幅增加。經過多次架構演進,扛住了流量和分發量數百倍的增長,支持了百度 App、好看視頻、全民小視頻等多個產品的快速發展。 此外,2019 百度春晚紅包項目,準備時間只有短短一個月,央視春晚口播帶來的瞬間並發屬於極端高並發,千萬級 QPS,可用性挑戰巨大。春晚項目技術團隊通過全方位針對性的架構設計和優化,順利保障了百度春晚活動的如絲般順滑。 從數萬 QPS 的高並發系統,到數千萬 QPS 的極端並發系統,積累了大量高可用設計與保障的實踐經驗,本次演講將做分享。

演講:高並發實時分散式交易系統的實踐與思考

演講嘉賓:火幣網高級技術總監秦金衛

高並發分散式交易系統一直是一個技術難題。如果我們再加上低延時強實時的要求,以及傳統金融系統的穩定性和一致性,還要 BAT 級別的系統吞吐能力和高可用性,這就對系統架構提出了巨大的挑戰:如何設計賬戶系統、如何高效可靠的處理實時清算、如何實現高可用的網關、如何考慮和選擇合適的技術框架、如何提升系統的監控和運維效率、如何利用微服務進行交易系統的設計與治理,等等這一系列問題。 本議題從一個億級訂單量的低延遲實時交易系統案例出發,通過闡述高並發分散式系統的架構原則,分析實現過程中的各種嘗試和痛點,以及分享實際工作過程的一些最佳實踐,特別是在做內存化改造和流式處理技術改造的一些經驗心得,從整體到局部、從原理到細節,剖析高並發分散式交易系統的方方面面。

關鍵詞:高可用

演講:Azure Compute – sharing tips and tricks for building hyper-scale globally distributed systems(英文演講)

演講嘉賓:Microsoft Azure Compute Product Architect Boris Scholl

As software and services do not know any boundaries it becomes more and more important to think about what it truly means to build services on a global scale. In this session, we will give you an inside look at the architecture, development and operations of services that are running at a global scale as well as share some best practices and lessons learned from building out some of Azure』s largest cloud services.

由於軟體和服務無法定義邊界,因此考慮構建全球規模服務的真正含義變得日益重要。在本議題中,我們將向您詳細介紹在全球範圍內運行的服務的架構、開發和運營,分享一些最佳實踐,以及在構建 Azure 最大的雲服務的過程中獲得的經驗教訓。

演講:聲明式自愈系統——高可用分散式系統的設計之道

演講嘉賓:阿里巴巴高級技術專家王昕

大型電商平台和雲計算平台的後台服務都是典型的超大規模分散式系統。作為企業用戶的基礎服務商,一方面平台的穩定性和高可用能力不容有失,另一方面需要在分散式系統規模持續擴大的情況下避免運維成本的上升,因此聲明式自愈系統的設計成為必須。本次分享將結合分散式系統理論和作者在多家互聯網和雲計算企業的工作經驗,圍繞高可用分散式系統的設計之道分享以下內容:

演講:Grab 核心派單系統中的高質量數據集的收集與應用

演講嘉賓:Grab 核心派單系統團隊負責人沈玉梁

Grab 的核心派單系統在不斷的演化中逐步引入了機器學習的解決方案以適應快速升級的複雜業務需求。同時,新的解決方案不斷提升派單的有效性和準確性。而如何提供實時、高質量的數據集是保證機器學習結果的重中之重。現有派單系統的機器學習模型中,特定區域內的乘客、訂單和司機形成了多維度的特徵矩陣。假設單一城市平均每秒發生 100 個訂單請求,每個訂單平均需要為 100 個司機進行模型運算,每個司機需要為此提取 50 個特徵,而平均生成每個特徵需要 10 次額外運算。與此同時,整個系統需要為東南亞幾乎所有的重要城市提供派單服務。如何及時生成、存儲、提取數百萬 / 秒的特徵數據集是整個派單系統內的一個技術難點。我們通過內置於 FeatureBank 系統中的一系列優化策略和降維演算法有效地降低了複雜度和延遲,極大地提高了派單結果的準確性和有效性。

演講:超大規模高可用性雲端系統構建之禪

演講嘉賓:Mobvista 技術副總裁兼首席架構師蔡超

本講座是作者近十年構建雲端系統的經驗總結。雲端高可用性系統的構建與本地系統構建有著諸多不同之處,本講座通過以構建超大規模移動廣告平台為例,來講述雲端高可用性系統構建的要點。

演講:高可用分散式流數據存儲設計

演講嘉賓:京東集團中台技術架構部資深架構師李玥

每天,超過千億交易相關的數據在京東數千個系統中高速流轉。實現數據流在超大規模集群系統之間高性能流轉同時,確保數據的高可靠、高可用、一致性對京東的消息中間件系統是一項艱巨的技術挑戰。

高性能、高可用、高可靠的流數據存儲提供數據持久化能力,是未來分散式計算不可或缺的基礎設施之一。其不僅用於構建分散式消息中間件,在諸多計算場景中均有廣泛的應用。本次演講的主要介紹了京東高可用分散式流數據存儲系統的架構,內容涵蓋:流數據存儲集群的高可用架構設計;數據強一致性保證:改進於 RAFT 的流數據選舉和複製機制;理解數據流的特性和針對性性能優化手段。

演講:降級預案在同程藝龍的工程實踐

演講嘉賓:同程藝龍資深架構師王俊翔

現代分散式系統設計中,面向容錯、降級熔斷設計是常規的、不可或缺的功能。在複雜的業務架構下,例如從商品的搜索、交易到供應鏈,整體的系統鏈路會長,系統間的依賴關係非常複雜,由於業務多變性、複雜性的存在,如何簡單的切入到整體鏈路中,幫助系統快速、無侵入的實現降級熔斷措施,或是幫助整體鏈路實現業務降級預案,也隨之變得異常困難。在日趨增長的業務下,隨之增長的降級措施散落在各個系統代碼中,日積月累,降級的治理也變得異常困難,原先的降級措施也逐漸演變成系統中的一個不穩定因素。在這樣的需求背景下,需要系統性的、完備的降級治理架構協調運作。同程藝龍結合實踐經驗,從數據採集、指標計算、資源降級恢復、鏈路預案管理、故障診斷多個方面,探索服務降級體系化建設的可落地架構。

關鍵詞:混沌工程

演講:雲原生架構下的混沌工程實踐

演講嘉賓:阿里巴巴高級技術專家周洋

越來越多的企業選擇基於雲原生技術構建系統架構,希望可以構建構建容錯性好、易於管理和便於觀察的松耦合系統。在演進的過程中,可能會經歷雲遷移(Cloud-Migrate)、雲就緒(Cloud-Ready)和雲原生(Cloud-Native)三個階段。每個階段都需要圍繞一些新技術、新理念來升級系統架構和組織模式。如何在變化的過程中保障系統穩態的一致性,為"飛行中的飛機替換引擎"是每位系統負責人要關注的問題。

混沌工程是一種在生產環境周期性引入故障變數,驗證系統對非預期故障防禦的有效性的實驗思想。實驗能力不綁定特定雲原生技術,但是技術實現會隨著主流技術發展而演進,並衍生出一些領域最佳實踐。阿里從最早引入混沌工程解決微服務的依賴問題,到業務服務、雲服務穩態驗證,進一步升級到公共雲、專有雲的業務連續性保障,積累了比較多的實踐經驗。本次分享會從雲遷移、雲就緒、雲原生三個角度入手,介紹實施混沌工程的一些方法原則和技術工具。

想了解更多可參考案例?2019 年 5 月 6-8 日, QCon 北京 2019 將與你分享 100 資深一線開發人員的實踐經驗,涉及 26 熱門領域,也許能給你帶來技術難題的創新解法。9-10 日還有深度培訓,將聚焦深度學習與推薦系統應用、目標識別在線服務、微服務架構、大規模後端業務系統基礎架構等內容,不容錯過。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

如何快速掌握Flutter開發核心技能?
2019最受歡迎的資料庫是?

TAG:InfoQ |