CompactionManagerMbean和CompactionManager
首先是CompactionManagerMBean,这部分代码是一个接口,关于这部分可以主要参考:https://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html
其主要是使用JMX技术,即Java Management Extensions,是管理java的一种扩展。这种机制可以方便的管理、监控正在运行中的Java程序。常用于管理线程,内存,日志Level,服务重启,系统环境等。使用JMX技术主要是可以将资源通过Mbean对象进行管理。
Mbean:是Managed Bean的简称,可以翻译为“管理构件”。在JMX中MBean代表一个被管理的资源实例,通过MBean中暴露的方法和属性,外界可以获取被管理的资源的状态和操纵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的技术实现。
监控使用实现的CompactionMetrics
参考:
https://www.jianshu.com/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
网友评论