<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    活到老,學到老

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      9 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks
        這是我讀了JMX In Action以后的總結,這篇文章是這個系列的第一篇,主要介紹一下什么是JMX,為什么要使用JMX?以及簡單闡述一下JMX的架構。
        什么是JMX?
        首先看一下維基百科的定義:JMX(Java Management Extensions,即Java管理擴展)是Java平臺上為應用程序、設備、系統等植入管理功能的框架。
    JMX可以跨越一系列異構操作系統平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。
        隨著企業 IT 規模的不斷增長,IT 資源(IT resource)數量不斷增加,IT 資源的分布也越來越分散。IT資源主要包括網絡和應用等。管理網絡(硬件)的主要工具是
    簡單網絡管理協議(SNMP),硬件廠商一般都會在設備中提供SNMP hooks,但SNMP開發不是件容易的事情,而且需要掌握特定的語言,對JAVA開發者絕非易事。
        有些企業開發的應用的時候,是不會考慮運行時配置和管理問題。有些企業直接在產品中開發管理工具和界面。也有一些企業直接使用應用服務器或web服務器的管理工具。
        現實世界的IT資源管理需求主要有以下一些:
        1、監控平臺和硬件的健康。硬件可以通過SNMP,WEB服務器和應用服務器可以通過他們自己的管理工具。數據庫也是一樣等。
       2、配置應用層面的資源。比如配置應用在查詢結果中每頁顯示的數量,配置數據庫連接池,或者外部請求數等。
       3、收集應用程序的統計信息。如多少成功訂單,多少失敗訂單等。
       4、日志級別,改變日志級別。出問題的時候,可以通過改變日志級別來打印調試信息,快速定位問題。
       5、監視服務器的性能、負載,通過email、sms等通知關鍵性事件,比如服務器負載超過預設的界限。
        要滿足這些需求往往是非常昂貴和困難的,管理員通常需要通過不同的工具來管理不同的服務和硬件。 如果使用JMX,創建一個滿足上面需求的管理系統將是廉價、更加靈活、所需時間更短。    
     
        
        使用JMX的好處
         1、非常容易使用。特別是對一個JAVA程序員,要理解SNMP是困難的。而JMX對他來說非常容易。
          2、利用現有的技術:現有的管理工具可以插入JMX,JMX提供了很多協議(SNMP、HTTP)和傳輸方式(如RMI),如果原有的應用和設備沒有提供管理能力,則可以創建JMX代理提供管理能力。
          3、模塊化。以模塊化的方式創建你的管理環境。
          4、警告、事件和統計信息。
            JMX提供了一套通知系統,充分利用了面向對象優勢,通知提供了不僅僅是數據,而是一個有分布式JAVA對象,封裝了數據和行為。例如,你發送了一個服務器負載的通知,里面還包含了一個顯示負載重要性的級別的機制,說白了就是對象里面有個方法,可以判定負載的嚴重程度。
          5、快速的監控解決方案。不同的開發人員只需要自己開發MBean,而不需要花很多的時間在相互的協作上面,這些MBean分布在不同的主機上,但可以通過一個管理工具就可以管理所有的這些應用。

        JMX的一些術語
        1、可管理資源(Manageable resource
        可以是任何的應用、設備、或者其他存在的實體,能夠被java訪問和包裝。是被JMX MBean管理的資源。
        2、MBean(Managed Bean)
        是滿足某些命名規則和繼承JMX 規范的java類,為可管理資源的管理和訪問暴露接口。通過屬性和行為來暴露接口。有這3類:Standard, Dynamic, and Model MBeans。
        3、MBean Server
        管理一組MBean的JAVA類。是JMX 管理環境核心。是MBean的注冊器。
        
    4、JMX Agent
        JMX代理是為管理一組MBean提供一系列服務的java進程。是一個MBean Server的容器,它還提供了一些有用的服務:創建MBean之間的關系,動態加載類,簡單的監控服務,定時器服務。Agent有一個協議適配器和連接器集合能使外部程序連接到他們。
        
    5、Protocol adapters and connectors
        協議適配器和連接器是位于JMX Agent內部的對象。把Agent暴露給管理程序和協議。一個Agent可以有很多適配器和連接器。
        
    6、Management application
        連接到JMX Agent的用戶應用程序。
        
    7、Notification
        通知是Mbean或者Mbean server發送的java對象,他們封裝了事件、警告、或者其他的一般信息。其他的Mbean或者java對象可以注冊成為監聽器來接受通知。
        8、Instrumentation(設備化)
        用MBean暴露一個可管理資源的過程。
        
        JMX架構
        JMX架構主要分為三層:Distributed layer,Agent layer,Instrumentation layer,如下圖所示:
         
     

        1、Distributed layer(分布式層)
          屬于JMX架構的最外層,這層主要負責使JMX Agent能對外部程序可用。    又分為兩種:一種通過不同的協議(如SNMP,HTTP)來為MBean提供可見性。
    另一種是把Agent API暴露給其他的分布式技術如RMI。
        2、The agent layer(代理層)
        它包含的最主要的組件是MBean Server,它還包括4個代理服務使管理MBean更加容易,它們分別是:    定時器(timer)、監控服務、動態MBean加載、和MBean關系服務。Agent可以和被管理的資源在同一個主機上,也可以是遠程的。
        3、The instrumentation layer
        這是最靠近資源的一層,它包含了注冊在Agent里面的MBean。
        4、Notifications
        除了架構中的三層以外,JMX提供了一個通知機制,類似于JAVA事件模型。通知機制是管理系統的最后必須的組件。Agent和MBean可以使用通知機制來發送警告或信息給管理應用。
        以上就是JMX架構的主要內容,下一篇構建一個HelloWorld的JMX程序。
    posted on 2011-04-03 23:08 simon.shen 閱讀(2274) 評論(0)  編輯  收藏 所屬分類: Java企業開發
    主站蜘蛛池模板: 日本免费人成视频播放| 免费成人激情视频| 亚洲精品线路一在线观看| 中文字幕在线日亚洲9| 最近最新的免费中文字幕| 国内精品久久久久影院亚洲 | 精品一区二区三区免费观看| 免费大黄网站在线观看| 一级A毛片免费观看久久精品| 亚洲精品岛国片在线观看| 国产精品偷伦视频免费观看了| 亚洲免费人成在线视频观看| 曰批全过程免费视频在线观看无码 | 亚洲精品NV久久久久久久久久| 一级毛片成人免费看a| 国产亚洲大尺度无码无码专线 | 精品久久亚洲中文无码| 天天摸天天碰成人免费视频| 亚洲成a∨人片在无码2023| 亚洲成A人片在线观看中文| 三上悠亚在线观看免费| 亚洲福利视频一区二区三区| 成人毛片免费网站| xxxxxx日本处大片免费看| 亚洲成人在线网站| 久久不见久久见免费影院| 免费大片黄在线观看| 亚洲AV无码日韩AV无码导航 | 一个人免费观看www视频| 亚洲国产精久久久久久久| 欧洲精品成人免费视频在线观看| 国产99久久亚洲综合精品| 亚洲人成亚洲人成在线观看| www视频免费看| 亚洲欧美自偷自拍另类视| 亚洲午夜福利AV一区二区无码| 无码av免费网站| 国产大片91精品免费观看不卡| 国产免费一区二区三区VR| 色欲色欲天天天www亚洲伊| 亚洲啪啪AV无码片|