Cassandra的Compaction源代碼

CompactionManagerMbean和CompactionManager

首先是CompactionManagerMBean,這部分代碼是一個接口,關于這部分可以主要參考:https://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html

其主要是使用JMX技術,即Java Management Extensions,是管理java的一種擴展。這種機制可以方便的管理、監(jiān)控正在運行中的Java程序。常用于管理線程,內存,日志Level,服務重啟,系統(tǒng)環(huán)境等。使用JMX技術主要是可以將資源通過Mbean對象進行管理。

Mbean:是Managed Bean的簡稱,可以翻譯為“管理構件”。在JMX中MBean代表一個被管理的資源實例,通過MBean中暴露的方法和屬性,外界可以獲取被管理的資源的狀態(tài)和操縱MBean的行為。事實上,MBean就是一個Java Object,同JavaBean模型一樣,外界使用自醒和反射來獲取Object的值和調用Object的方法,只是MBean更為復雜和高級一些。


對于CompactionManager:

其內部的數據的格式主要是使用了javax內部的openmbean.TabularData部分。下面的網址提供了一些代碼的實例:

https://www.programcreek.com/java-api-examples/index.php?api=javax.management.openmbean.TabularData

同時包括了RateLimiter使用Google Guava的技術實現。?

監(jiān)控使用實現的CompactionMetrics

參考:

http://www.itdecent.cn/p/6aff920def9b

https://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html

https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/overview/JMXoverviewTOC.html

https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/tutorial/tutorialTOC.html

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容