日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【赛道解析】针对冷热读写场景的 RocketMQ 存储系统设计思路拆解

發布時間:2024/9/3 windows 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【赛道解析】针对冷热读写场景的 RocketMQ 存储系统设计思路拆解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介:今年的云原生編程挑戰賽圍繞“挑戰 Serverless 創新實踐”展開,將繼續深度探索 RocketMQ、Dubbo3、Serverless 三大熱門技術領域,為熱愛技術的年輕人提供一個挑戰世界級技術問題的舞臺。希望選手們能用手中的技術,為全社會創造更大的價值。

今年的云原生編程挑戰賽圍繞“挑戰 Serverless 創新實踐”展開,將繼續深度探索 RocketMQ、Dubbo3、Serverless 三大熱門技術領域,為熱愛技術的年輕人提供一個挑戰世界級技術問題的舞臺。希望選手們能用手中的技術,為全社會創造更大的價值。


賽道一:針對冷熱讀寫場景的 RocketMQ 存儲系統設計


瓜分60萬現金大獎,三大賽道任意選擇,

更有奇葩任務定義拿獎新姿勢,快快點擊報名吧!

https://tianchi.aliyun.com/specials/promotion/cloudnative2021


1、賽題背景


Apache RocketMQ 作為的一款分布式的消息中間件,歷年雙十一承載了萬億級的消息流轉,為業務方提供高性能低延遲的穩定可靠的消息服務。其中,實時讀取寫入數據和讀取歷史數據都是業務常見的存儲訪問場景,而且會在同一時刻同時出現,因此針對這個混合讀寫場景進行優化,可以極大的提升存儲系統的穩定性。同時英特爾? 傲騰? 持久內存作為一款與眾不同的獨立存儲設備,可以縮小傳統內存與存儲之間的差距,有望給 RocketMQ 的性能再次飛躍提供一個支點。


2、題目解析


本次賽題大致有兩個關鍵點:分層存儲如何設計、AEP在場景中扮演的角色。

首先分層存儲并不是一個陌生的概念,也是一個被廣泛應用技術,廣義上講,就是將數據存儲在不同層級的介質中,并在不同的介質之間進行自動或者手動的數據遷移,復制等操作。事實上,分層存儲的設計并沒有唯一最優解的說法,需要具體場景具體設計,并盡可能考慮到極端情況。


  • 4 核 8G 規格 ECS,配置 400G 的 ESSD PL1 云盤(吞吐可達到 350MiB/s ref),配置 126G 傲騰?持久內存。從機器配置上看,各個存儲介質速度 8G-DRAM > 126G-AEP > 400G-ESSD。


  • 正確性評測中會重啟 ECS,并清空傲騰盤上的數據。重啟 ECS 采用的是模擬斷電的方法,因此需要保證數據至少落盤一份到 ESSD 中。


  • 性能評測時,有 50% 的隊列會從當前最大位點消費,剩余的從 0 開始,因此可以對“冷熱數據”進行區分處理,提高系統的穩定性和運行效率。


  • 雖然操作系統中有 PageCache,但是它在某種極端情況下表現得“笨笨”的,比如說混合讀寫中,剛寫入的“熱數據”可能會因為內存不足而被換出,消費時的數據又會污染本就搖搖欲墜的 PageCache,最差情況是可能導致其完全失效,全部讀寫都走了 SSD。


其次是如何高效利用這塊 AEP。


  • 英特爾? 傲騰? 內存是一款與眾不同的獨立存儲設備,可以縮小傳統內存與存儲之間的差距。


  • 對于某一個設備在什么情況下使用、如何使用都是基于其特性出發的,就比如之前的機械硬盤因為物理尋址方式,順序讀寫時吞吐遠大于隨機讀寫,而 DRAM 和固態硬盤則是電路尋址,不考慮硬件和軟件上的緩存優化時是否順序讀寫差距不大;而傲騰內存的特性又不同于其他存儲介質,深入了解它將有助于更靈活更高效的使用。

https://developer.aliyun.com/article/770338?groupCode=aliyundb


3、解題思路


分層存儲:


  • 由于存儲介質容量、速度上有較大差異,因此可以將冷熱數據進行區分,新寫入的數據維持在 DRAM 中,冷數據在讀取前及時復制到 AEP 中。


  • 由于 ESSD 的帶寬非常有限,冷數據在遷移過程中會占用寶貴資源,因此可以在寫入階段采用雙寫。


  • 由于是冷熱讀寫的隊列是隨機指定的,需要程序能自己判斷并區別對待。


  • 可以在內存中自己維護一份緩存,減少對 PageCache 的依賴。


4、如何拿好成績


由于成績是取得全部流程時間總和,且各個環節互相影響,因此可以大膽發揮創造,找出最具“性價比”的優化。


例如為了優化后續讀流程對數據進行規整,或者為了優化寫性能在 ESSD 中只 Append 數據順序落盤,在 AEP 或者 DRAM 中構造索引等各種方法,期待選手們都能獲得自己滿意的成績!


5、傲騰技術參考文檔:


  • Intel傲騰持久化內存介紹:

https://software.intel.com/content/www/us/en/develop/videos/overview-of-the-new-intel-optane-dc-memory.html


  • 傲騰持久化內存(AEP)工作模式:

https://code.aliyun.com/dts_test/dts-contest/blob/master/doc/appdirect-tips.md


  • PMEM IO官網:

https://pmem.io/


  • 如何模擬PMEM:

https://software.intel.com/content/www/us/en/develop/articles/how-to-emulate-persistent-memory-on-an-intel-architecture-server.html


  • PMEM編程指北:

https://code.aliyun.com/dts_test/dts-contest/blob/master/doc/PMEM%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8C%97.md


  • PMDK示例程序:

https://github.com/pmem/pmdk-examples


  • 評測環境使用PMEM:

https://code.aliyun.com/dts_test/dts-contest/blob/master/doc/fsdax-pmem.md?spm=5176.12281978.0.0.2e7f4154YmlInw&file=fsdax-pmem.md


  • JAVA使用PMEMKV:

https://github.com/pmem/pmemkv-java


  • Java* Support for Intel? Optane? DC Persistent Memory:

https://software.intel.com/content/www/us/en/develop/articles/java-support-for-intel-optane-dc-persistent-memory.html?spm=5176.12281978.0.0.2e7f4154YmlInw


  • JAVA持久內存編程教程(視頻):

https://software.intel.com/content/www/us/en/develop/videos/persistent-memory-programming-with-java.html

原文鏈接:https://developer.aliyun.com/article/788002?

版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。

總結

以上是生活随笔為你收集整理的【赛道解析】针对冷热读写场景的 RocketMQ 存储系统设计思路拆解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。