<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        淘寶曹偉分析低成本、高性能MySQL云數據架構_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 18:22:42
        文檔

        淘寶曹偉分析低成本、高性能MySQL云數據架構_MySQL

        淘寶曹偉分析低成本、高性能MySQL云數據架構_MySQL:bitsCN.com 曹偉是淘寶數據庫研發組的成員,前不久他在內部分享了低成本、高性能MySQL云數據的架構分析和探索,包括架構的演變過程、系統中的角色和組件等。該文章被褚霸轉發在“Erlang非業余研究”上。 在一開始,曹偉指出: 雖然近兩年來No
        推薦度:
        導讀淘寶曹偉分析低成本、高性能MySQL云數據架構_MySQL:bitsCN.com 曹偉是淘寶數據庫研發組的成員,前不久他在內部分享了低成本、高性能MySQL云數據的架構分析和探索,包括架構的演變過程、系統中的角色和組件等。該文章被褚霸轉發在“Erlang非業余研究”上。 在一開始,曹偉指出: 雖然近兩年來No

        接下來,曹偉介紹了他們的工作成果:

        我們(阿里集團核心系統數據庫團隊)……設計和實現了一套UMP(Unified MySQL Platform)系統,提供低成本和高性能的MySQL云數據服務。開發者從平臺上申請MySQL實例資源,通過平臺提供的單一入口來訪問數據,UMP 系統內部維護和管理資源池,以對用戶透明的形式提供主從熱備、數據備份、遷移、容災、讀寫分離、分庫分表等一系列服務。平臺通過在一臺物理機上運行多個 MySQL實例的方式來降低成本,并且實現了資源隔離,按需分配和限制CPU、內存和IO資源,同時支持不影響提供數據服務的前提下根據用戶業務的發展動 態的擴容和縮容。

        曹偉分析了該系統的架構演變過程:

        第一版基于mysql-proxy 0.8版修復若干bug,并對proxy插件中管理用戶連接和數據庫連接的狀態機流程進行一些修改,同時編寫Lua腳本實現去中心數據庫獲取用戶認證信息和后臺數據庫地址,對用戶進行驗證,建立到后臺數據庫的連接和轉發數據包等邏輯。

        圖:UMP系統第一版架構

        他提到第一版的幾個問題:

        1. mysql-proxy 0.8版對多線程的支持比較簡單粗暴,導致幾個惡劣后果:
        2. 造成“驚群”現象,多個線程被喚醒但只有一個線程需要去任務;
        3. 任務的CPU親緣性比較差,在同一個狀態機上觸發的事件會在多個處理器上來回切換執行;
        4. mysql-proxy中還使用了全局Lua鎖,同時僅允許一個工作線程執行Lua腳本,因此mysql-proxy多線程模式下的性能遠不能同CPU核數保持線性增長,甚至在16核上的性能還不如4核。
        5. 以上原因導致單進程模式時,一臺物理機上需要部署多個進程才能有效利用機器的處理能力,但給部署、監控和服務的升級帶來麻煩。
        6. 其次,限于mysql-proxy的框架,功能上不容易擴展,實現用戶的連接數限制、QPS限制、以及主從切換、讀寫分離、分庫分表等一系列功能比較困難。
        7. 最后,mysql-proxy的社區近些年來并不活躍,而且C語言對開發者功底的要求比較高,很難要求團隊所有成員協同開發出兼顧優雅和正確性的代碼。

        因此,他們決定用Erlang重寫,原因在于:

      1. 和操作系統的進程/線程相比,Erlang進程同樣是并發執行的單位,但特別的輕量級,它是在Erlang虛擬機內管理和調度的“綠進程”,即用戶態進程。
      2. Erlang/OTP很好的抽象了開發一個分布式的、高容錯性的應用程序所需的要素,包括:網絡編程框架、序列化和反序列化、容錯、熱部署。
      3. 在設計當前的UMP系統架構時,團隊遵循了以下原則:

      4. 系統對外保持單一入口,對內維護單一的資源池。
      5. 保證服務的高可用性,消除單點故障。
      6. 保證系統是彈性可伸縮的,可以動態的增加、刪減計算與存儲節點。
      7. 保證分配給用戶的資源也是彈性可伸縮的,資源之間相互隔離。
      8. 圖:UMP系統現有架構

        UMP系統中有如下角色:

      9. controller服務器:向UMP集群提供各種管理服務,實現元數據存儲、集群成員管理、MySQL實例管理、故障恢復、備份、遷移、擴容等功能。
      10. proxy服務器:向用戶提供訪問MySQL數據庫的服務,它完全實現了MySQL協議;除數據路由的基本功能外,Proxy服務器中還實現了資源限制、屏蔽MySQL實例故障、讀寫分離、分庫分表、記錄用戶訪問日志的功能。
      11. agent服務器:部署在運行MySQL進程的機器上,用來管理每臺物理機上MySQL實例,執行創建、刪除、備份、遷移、主從切換等操作,收集和分析MySQL進程的統計信息、bin log、slow query log。
      12. API/Web服務器:向用戶提供了系統管理界面。它們是基于開源項目Mochiweb與Chicago Boss開發的Mochiweb提供http/https服務。
      13. 日志分析服務器:存儲和分析Proxy服務器傳入的用戶訪問日志,并實現了實時索引供用戶查詢一段時間內的慢日志和統計報表。
      14. 信息統計服務器:定期將采集到的用戶的連接數、QPS數值,以及MySQL實例的進程狀態用RRDtool進行統計,可以畫圖展示到Web界面上,也可以為今后實現彈性的資源分配和自動化的MySQL實例遷移提供依據。
      15. 依賴的開源組件有:

      16. Mnesia:Mnesia是OTP提供的分布式數據庫,支持事務,支持透明的數據分片,利用兩階段鎖實現分布式事務,可以線性擴展到至少50個節點。Mnesia更傾向于犧牲可用性來換取強一致性,但它也提供了臟讀、臟寫操作,可以繞過事務管理去操作數據。
      17. LVS:實現負載均衡,用戶應用重連后會被LVS定向到其他的proxy上。
      18. RabbitMQ:提供UMP系統中各節點間的通信(不包括SQL查詢、日志等大數據流的傳輸,這些還是直接走TCP的)
      19. ZooKeeper:主要發揮配置服務器、分布式鎖,以及監控所有MySQL實例的作用
      20. 對于該系統的作用,曹偉總結到:

        在多個組件的協同作業下,整個系統實現了對用戶透明的容災、讀寫分離、分庫分表功能。系統內部還通過多個小規模用戶共享同一個MySQL實例,中等 規模用戶獨占一個MySQL實例,多個MySQL實例共享同一個物理機的方式實現資源的虛擬化,降低整體成本。在資源隔離方面,通過Cgroup限制 MySQL進程資源,以及在proxy服務器端限制QPS相結合的方法,UMP系統實現了資源虛擬化的同時保障用戶的服務質量。此外,UMP系統綜合運用 SSL數據庫連接、數據訪問IP白名單、記錄用戶操作日志、SQL攔截等技術保護用戶的數據安全。

        對于該系統的應用,曹偉指出:

        UMP系統的一些組件,例如proxy服務器和日志分析服務器,目前已經運用在天貓的聚石塔平臺中,為電商和ISV提供安全的數據云服務。此 外,UMP系統還運用在淘寶的店鋪裝修平臺中,為開發者提供數據服務。下一階段,我們希望UMP系統可以為進一步降低集團內部數據存儲的成本做出貢獻。

        bitsCN.com

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        淘寶曹偉分析低成本、高性能MySQL云數據架構_MySQL

        淘寶曹偉分析低成本、高性能MySQL云數據架構_MySQL:bitsCN.com 曹偉是淘寶數據庫研發組的成員,前不久他在內部分享了低成本、高性能MySQL云數據的架構分析和探索,包括架構的演變過程、系統中的角色和組件等。該文章被褚霸轉發在“Erlang非業余研究”上。 在一開始,曹偉指出: 雖然近兩年來No
        推薦度:
        標簽: 文章 數據 mysql
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲美女视频免费| 亚洲国产女人aaa毛片在线| 亚洲人成免费网站| 最近免费中文字幕大全免费版视频| 久久影视国产亚洲| 中出五十路免费视频| 亚洲熟女一区二区三区| 99在线视频免费观看| 亚洲va国产va天堂va久久| 久久免费福利视频| 亚洲视频在线免费看| 国产人成免费视频网站| 亚洲偷自精品三十六区| 蜜臀91精品国产免费观看 | 亚洲精品456播放| 窝窝影视午夜看片免费| 亚洲精品国产精品乱码在线观看| 中国黄色免费网站| 久久久久无码精品亚洲日韩| 777爽死你无码免费看一二区| 亚洲国语在线视频手机在线| 黄网址在线永久免费观看 | 亚洲国产乱码最新视频| 日韩在线a视频免费播放| 一道本不卡免费视频| 亚洲va久久久噜噜噜久久男同| 84pao国产成视频免费播放| 亚洲人成自拍网站在线观看 | 国产无遮挡色视频免费视频| 一级做a免费视频观看网站| 亚洲AV永久无码精品| 一个人看www在线高清免费看 | 国产亚洲国产bv网站在线| 四虎影视在线永久免费看黄| 国产成人高清精品免费观看| 亚洲福利在线视频| 国产男女性潮高清免费网站| 中文字幕免费在线看| 国产.亚洲.欧洲在线| 亚洲真人日本在线| 思思re热免费精品视频66|