锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1銆佺洃鎺у鉤鍙板拰紜歡鐨勫仴搴楓傜‖浠跺彲浠ラ氳繃SNMP錛學EB鏈嶅姟鍣ㄥ拰搴旂敤鏈嶅姟鍣ㄥ彲浠ラ氳繃浠栦滑鑷繁鐨勭鐞嗗伐鍏楓傛暟鎹簱涔熸槸涓鏍風瓑銆?br />
2銆侀厤緗簲鐢ㄥ眰闈㈢殑璧勬簮銆傛瘮濡傞厤緗簲鐢ㄥ湪鏌ヨ緇撴灉涓瘡欏墊樉紺虹殑鏁伴噺錛岄厤緗暟鎹簱榪炴帴姹狅紝鎴栬呭閮ㄨ姹傛暟絳夈?br />
3銆佹敹闆嗗簲鐢ㄧ▼搴忕殑緇熻淇℃伅銆傚澶氬皯鎴愬姛璁㈠崟錛屽灝戝け璐ヨ鍗曠瓑銆?br />
4銆佹棩蹇楃駭鍒紝鏀瑰彉鏃ュ織綰у埆銆傚嚭闂鐨勬椂鍊欙紝鍙互閫氳繃鏀瑰彉鏃ュ織綰у埆鏉ユ墦鍗拌皟璇曚俊鎭紝蹇熷畾浣嶉棶棰樸?br />
5銆佺洃瑙嗘湇鍔″櫒鐨勬ц兘銆佽礋杞斤紝閫氳繃email銆乻ms絳夐氱煡鍏抽敭鎬т簨浠訛紝姣斿鏈嶅姟鍣ㄨ礋杞借秴榪囬璁劇殑鐣岄檺銆?br />
瑕佹弧瓚寵繖浜涢渶姹傚線寰鏄潪甯告槀璐靛拰鍥伴毦鐨勶紝綆$悊鍛橀氬父闇瑕侀氳繃涓嶅悓鐨勫伐鍏鋒潵綆$悊涓嶅悓鐨勬湇鍔″拰紜歡銆?nbsp;濡傛灉浣跨敤JMX錛屽垱寤轟竴涓弧瓚充笂闈㈤渶姹傜殑綆$悊緋葷粺灝嗘槸寤変環銆佹洿鍔犵伒媧匯佹墍闇鏃墮棿鏇寸煭銆?nbsp;
浣跨敤JMX鐨勫ソ澶?br />
1銆侀潪甯稿鏄撲嬌鐢ㄣ傜壒鍒槸瀵逛竴涓狫AVA紼嬪簭鍛橈紝瑕佺悊瑙NMP鏄洶闅劇殑銆傝孞MX瀵逛粬鏉ヨ闈炲父瀹規槗銆?br />
2銆佸埄鐢ㄧ幇鏈夌殑鎶鏈細鐜版湁鐨勭鐞嗗伐鍏峰彲浠ユ彃鍏MX錛孞MX鎻愪緵浜嗗緢澶氬崗璁紙SNMP銆丠TTP錛夊拰浼犺緭鏂瑰紡錛堝RMI錛夛紝濡傛灉鍘熸湁鐨勫簲鐢ㄥ拰璁懼娌℃湁鎻愪緵綆$悊鑳藉姏錛屽垯鍙互鍒涘緩JMX浠g悊鎻愪緵綆$悊鑳藉姏銆?br />
3銆佹ā鍧楀寲銆備互妯″潡鍖栫殑鏂瑰紡鍒涘緩浣犵殑綆$悊鐜銆?br />
4銆佽鍛娿佷簨浠跺拰緇熻淇℃伅銆?br />
JMX鎻愪緵浜嗕竴濂楅氱煡緋葷粺錛屽厖鍒嗗埄鐢ㄤ簡闈㈠悜瀵硅薄浼樺娍錛岄氱煡鎻愪緵浜嗕笉浠呬粎鏄暟鎹紝鑰屾槸涓涓湁鍒嗗竷寮廕AVA瀵硅薄錛屽皝瑁呬簡鏁版嵁鍜岃涓恒備緥濡傦紝浣犲彂閫佷簡涓涓湇鍔″櫒璐熻澆鐨勯氱煡錛岄噷闈㈣繕鍖呭惈浜嗕竴涓樉紺鴻礋杞介噸瑕佹х殑綰у埆鐨勬満鍒訛紝璇寸櫧浜嗗氨鏄璞¢噷闈㈡湁涓柟娉曪紝鍙互鍒ゅ畾璐熻澆鐨勪弗閲嶇▼搴︺?br />
5銆佸揩閫熺殑鐩戞帶瑙e喅鏂規銆備笉鍚岀殑寮鍙戜漢鍛樺彧闇瑕佽嚜宸卞紑鍙慚Bean錛岃屼笉闇瑕佽姳寰堝鐨勬椂闂村湪鐩鎬簰鐨勫崗浣滀笂闈紝榪欎簺MBean鍒嗗竷鍦ㄤ笉鍚岀殑涓繪満涓婏紝浣嗗彲浠ラ氳繃涓涓鐞嗗伐鍏峰氨鍙互綆$悊鎵鏈夌殑榪欎簺搴旂敤銆?br />
JMX鐨勪竴浜涙湳璇?br />
1銆佸彲綆$悊璧勬簮錛?font size="2">Manageable resource錛?br />
鍙互鏄換浣曠殑搴旂敤銆佽澶囥佹垨鑰呭叾浠栧瓨鍦ㄧ殑瀹炰綋錛岃兘澶熻java璁塊棶鍜屽寘瑁呫傛槸琚獼MX MBean綆$悊鐨勮祫婧愩?br />
2銆丮Bean錛圡anaged Bean錛?br />
鏄弧瓚蟲煇浜涘懡鍚嶈鍒欏拰緇ф壙JMX 瑙勮寖鐨刯ava綾伙紝涓哄彲綆$悊璧勬簮鐨勭鐞嗗拰璁塊棶鏆撮湶鎺ュ彛銆傞氳繃灞炴у拰琛屼負鏉ユ毚闇叉帴鍙c傛湁榪?綾伙細Standard, Dynamic, and Model MBeans銆?br />
3銆丮Bean Server
綆$悊涓緇凪Bean鐨凧AVA綾匯傛槸JMX 綆$悊鐜鏍稿績銆傛槸MBean鐨勬敞鍐屽櫒銆?br />
4銆丣MX Agent
JMX浠g悊鏄負綆$悊涓緇凪Bean鎻愪緵涓緋誨垪鏈嶅姟鐨刯ava榪涚▼銆傛槸涓涓狹Bean Server鐨勫鍣紝瀹冭繕鎻愪緵浜嗕竴浜涙湁鐢ㄧ殑鏈嶅姟錛氬垱寤篗Bean涔嬮棿鐨勫叧緋伙紝鍔ㄦ佸姞杞界被錛岀畝鍗曠殑鐩戞帶鏈嶅姟錛屽畾鏃跺櫒鏈嶅姟銆侫gent鏈変竴涓崗璁傞厤鍣ㄥ拰榪炴帴鍣ㄩ泦鍚堣兘浣垮閮ㄧ▼搴忚繛鎺ュ埌浠栦滑銆?br />
5銆丳rotocol adapters and connectors
鍗忚閫傞厤鍣ㄥ拰榪炴帴鍣ㄦ槸浣嶄簬JMX Agent鍐呴儴鐨勫璞°傛妸Agent鏆撮湶緇欑鐞嗙▼搴忓拰鍗忚銆備竴涓狝gent鍙互鏈夊緢澶氶傞厤鍣ㄥ拰榪炴帴鍣ㄣ?br />
6銆丮anagement application
榪炴帴鍒癑MX Agent鐨勭敤鎴峰簲鐢ㄧ▼搴忋?br />
7銆丯otification
閫氱煡鏄疢bean鎴栬匨bean server鍙戦佺殑java瀵硅薄錛屼粬浠皝瑁呬簡浜嬩歡銆佽鍛娿佹垨鑰呭叾浠栫殑涓鑸俊鎭傚叾浠栫殑Mbean鎴栬卝ava瀵硅薄鍙互娉ㄥ唽鎴愪負鐩戝惉鍣ㄦ潵鎺ュ彈閫氱煡銆?br />
8銆両nstrumentation錛堣澶囧寲錛?br />
鐢∕Bean鏆撮湶涓涓彲綆$悊璧勬簮鐨勮繃紼嬨?br />
JMX鏋舵瀯
JMX鏋舵瀯涓昏鍒嗕負涓夊眰錛?font size="2">Distributed layer錛?font size="2">Agent layer錛?font size="2">Instrumentation layer錛屽涓嬪浘鎵紺猴細
1銆?/span>Distributed layer錛堝垎甯冨紡灞傦級
灞炰簬JMX鏋舵瀯鐨勬渶澶栧眰錛岃繖灞備富瑕佽礋璐d嬌JMX Agent鑳藉澶栭儴紼嬪簭鍙敤銆?nbsp; 鍙堝垎涓轟袱縐嶏細涓縐嶉氳繃涓嶅悓鐨勫崗璁紙濡係NMP錛孒TTP錛夋潵涓篗Bean鎻愪緵鍙鎬с?/font> 鍙︿竴縐嶆槸鎶夾gent API鏆撮湶緇欏叾浠栫殑鍒嗗竷寮忔妧鏈RMI銆?br />
2銆?font size="2">The agent layer錛堜唬鐞嗗眰錛?br />
瀹冨寘鍚殑鏈涓昏鐨勭粍浠舵槸MBean Server錛屽畠榪樺寘鎷?涓唬鐞嗘湇鍔′嬌綆$悊MBean鏇村姞瀹規槗錛屽畠浠垎鍒槸錛?nbsp; 瀹氭椂鍣紙timer錛夈佺洃鎺ф湇鍔°佸姩鎬丮Bean鍔犺澆銆佸拰MBean鍏崇郴鏈嶅姟銆侫gent鍙互鍜岃綆$悊鐨勮祫婧愬湪鍚屼竴涓富鏈轟笂錛屼篃鍙互鏄繙紼嬬殑銆?br />
3銆?font size="2">The instrumentation layer
榪欐槸鏈闈犺繎璧勬簮鐨勪竴灞傦紝瀹冨寘鍚簡娉ㄥ唽鍦ˋgent閲岄潰鐨凪Bean銆?br />
4銆?font size="2">Notifications
闄や簡鏋舵瀯涓殑涓夊眰浠ュ錛孞MX鎻愪緵浜嗕竴涓氱煡鏈哄埗錛岀被浼間簬JAVA浜嬩歡妯″瀷銆傞氱煡鏈哄埗鏄鐞嗙郴緇熺殑鏈鍚庡繀欏葷殑緇勪歡銆侫gent鍜孧Bean鍙互浣跨敤閫氱煡鏈哄埗鏉ュ彂閫佽鍛婃垨淇℃伅緇欑鐞嗗簲鐢ㄣ?br />
浠ヤ笂灝辨槸JMX鏋舵瀯鐨勪富瑕佸唴瀹癸紝涓嬩竴綃囨瀯寤轟竴涓狧elloWorld鐨凧MX紼嬪簭銆?br />
Restful WS鐨勭壒鎬э細
1銆?strong>鍙鍧鎬э紙Addressability錛?br />
璧勬簮閫氳繃URI鏉ユ毚闇茬粰鐢ㄦ埛錛屽彲瀵誨潃鎬ф槸鏈鍩烘湰鐨勭壒鎬с傜敱浜庡彲瀵誨潃鎬э紝浣犲彲浠ユ妸URI淇濆瓨鍦ㄤ綘鐨勪功絳鵑噷錛屼綘鍙互鎶婇摼鎺ュ彂緇欏埆浜猴紝鑰屼笉鐢ㄦ妸Html鏂囦歡涓嬭澆涓嬫潵鍙戠粰鍒漢錛屼篃鍙互閫氳繃URI瀵硅祫婧愯繘琛岀紦瀛樸?br />
2銆?strong>鏃犵姸鎬佹э紙Statelessness錛?br />
鏃犵姸鎬佹ф剰鍛崇潃姣忎釜HTTP璇鋒眰鏄畬鍏ㄩ殧紱葷殑銆傛瘡嬈″鎴風鍙戦佽姹傞兘蹇呴』甯︿笂鎵鏈夋湇鍔″櫒绔渶瑕佺殑淇℃伅銆?nbsp;
鏃犵姸鎬佺殑搴旂敤鏇村鏄撳垎甯冨埌鏈夎礋璐e潎琛$殑澶氬彴鏈嶅姟鍣ㄤ笂錛涙棤鐘舵佹т篃鏇村鏄撶紦瀛橈細緙撳瓨宸ュ叿鍙渶瑕佺湅榪欎竴涓姹傦紝鍜屼換浣曞叾浠栬姹傛棤鍏熾?br />
搴旂敤鐘舵佸拰璧勬簮鐘舵侊紙Application State Versus Resource State錛?br />
搴旂敤鐘舵佷綅浜庡鎴風錛岃岃祫婧愮姸鎬佷綅浜庢湇鍔″櫒绔紝瀵逛簬瀹㈡埛绔紝姣忎釜瀹㈡埛绔兘鏈夊悇鑷殑搴旂敤鐘舵侊紝渚嬪錛氬湪google鎼滅儲錛屼綘鍙兘鎼滅儲鏌愪釜鍗曡瘝涓斿綋鍓嶉〉鏄3欏碉紝鎴戝彲鑳芥悳绱㈠彟涓涓崟璇嶄笖鍦ㄧ涓欏碉紝鎵浠ユ瘡涓鎴風閮芥湁涓涓簲鐢ㄧ姸鎬併傚綋瀹㈡埛绔彂璧瘋姹傜殑鏃跺欙紝蹇呴』鍛婅瘔鏈嶅姟鍣ㄤ綘鐨勫簲鐢ㄧ姸鎬侊紝姣斿浣犲綋鍓嶈鐪嬫煇涓崟璇嶆悳绱㈢粨鏋滅殑絎嚑欏碉紝鏈嶅姟鍣ㄧ榪斿洖緇撴灉涓婃湁鍏朵粬閾炬帴錛岃繖浜涢摼鎺ュ鎴風鍙兘浣滀負鏈潵鐨勮姹傘?br />
鑰屽浜庤祫婧愮姸鎬侊紝瀵逛簬姣忎釜瀹㈡埛绔兘鏄浉鍚岀殑錛屽氨鏄湇鍔″櫒涓婄殑璧勬簮銆?nbsp;
3銆佽〃榪版э紙Representations錛?br />
琛ㄨ堪鎬э紝灝辨槸璧勬簮鐨勮〃鐜板艦寮忥紝鐩稿悓鐨勮祫婧愬彲浠ユ湁涓嶅悓鐨勮〃榪版э紝姣斿鍚屼竴涓猙ug鍒楄〃鍙互鐢╔ML鏂囨。琛ㄧず錛屼篃鍙互鐢ㄦ枃鏈柟寮忚〃紺虹瓑絳夈傚浜庡悓涓璧勬簮鐨勪笉鍚岀殑Representation錛屽浣曠煡閬撳鎴風璇鋒眰鍝竴縐嶅憿錛熶綔鑰呭緩璁笉鍚岀殑Representation浣跨敤涓嶅悓鐨刄RI銆?br />
4銆佽繛閫氭э紙Links and Connectedness錛?br />
綆鍗曠偣璇達紝灝辨槸榪斿洖鐨勭粨鏋滀腑鏈夊鍏朵粬璧勬簮鐨勯摼鎺ワ紙URI錛夛紝姣斿google鎼滅儲錛屾悳绱㈢粨鏋滃彲鑳芥湁鍏朵粬欏電殑閾炬帴銆?br />
5銆佺粺涓鐨勬帴鍙o紙The Uniform Interface錛?br />
涔熷氨鏄Restful WS浣跨敤HTTP鐨勫熀鏈柟娉曚綔涓轟粬鐨勬柟娉曠殑琛ㄧず錛屼富瑕佷嬌鐢℉TTP鐨勫洓涓柟娉曪細GET,PUT,DELETE,POST銆侶EAD鍜孫PTIONS鐢ㄧ殑姣旇緝灝戙?br />
鍙栧緱鏌愪釜璧勬簮鐨勮〃榪扮殑鏃跺欎嬌鐢℅ET銆?br />
鍒涘緩涓涓柊鐨勮祫婧愮殑鏃跺欙紝PUT鍒頒竴涓柊鐨刄RI錛屾垨鑰匬OST鍒頒竴涓凡緇忓瓨鍦ㄧ殑URI銆?br />
淇敼璧勬簮錛屼嬌鐢≒UT鍒板瓨鍦ㄧ殑URI銆?br />
鍒犻櫎璧勬簮浣跨敤DELETE銆?br />
PUT鍜孭OST閮藉彲浠ュ垱寤烘柊鐨勮祫婧愶紝閭f湁浠涔堝尯鍒憿錛烶OST鍙互鍒涘緩浠庡睘璧勬簮錛屽涓涓獁ebblog紼嬪簭閫氳繃璧勬簮錛?weblogs/myweblog錛夋毚闇叉瘡涓猙log錛岃屾煇涓猙log涓嬮潰鐨勬潯鐩綔涓轟粠灞炶祫婧愪負/weblogs/myweblog/entries/1錛屽綋浣犻渶瑕佸鍔犱竴涓潯鐩殑鏃跺欙紝浣犲彲浠OST鍒扮埗璧勬簮/weblogs/myweblog錛屽悓鏍稰UT涔熷彲浠ュ畬鎴愯繖涓伐浣滐紝鍦ㄨ繖閲孭OST鍜孭UT鐨勫尯鍒槸錛氬綋瀹㈡埛绔彲浠ユ帶鍒舵柊璧勬簮鐨刄RI鐨勬椂鍊欙紝鍒欎嬌鐢≒UT錛屾瘮濡俠log鐨勪笅闈㈢殑鏌愮瘒鏂囩珷浣跨敤鍚嶅瓧鏉ヨ闂紝濡?weblogs/myweblog/entries/restful_ws_1錛堣繖鏍鋒煇涓崥瀹笅闈㈢殑鏂囩珷涓嶈兘閲嶅錛夛紝鍒欏綋浣犲彂琛ㄤ竴綃囨柊鏂囩珷鐨勬椂鍊欙紝鍙互PUT鍒版柊鐨刄RI濡?weblogs/myweblog/entries/restful_ws_2鏉ュ垱寤鴻祫婧愩傝屽鏋滃鎴風涓嶈兘鎺у埗URI鐨勬椂鍊欙紝姣斿blog鏄氳繃鏈嶅姟鍣ㄧ鏌愪釜搴忓垪鍙鋒潵璁塊棶錛屽鎴風鏄棤娉曠煡閬撲笅涓涓簭鍙鋒槸浠涔堬紝榪欐椂鍙兘浣跨敤POST錛岃繖縐峆OST濡傛灉鍒涘緩鎴愬姛錛屽垯榪斿洖201錛屽搷搴斿ご涓殑Location鍙互淇濇姢鏂板垱寤鴻祫婧愮殑URI銆?br />
榪樻湁涓涓尯鍒紝POST瀵規煇涓瓨鍦ㄧ殑璧勬簮鏇存柊鏃訛紝涓鑸槸榪藉姞錛坅ppend錛夛紝姣斿璇村鏌愪釜鏃ュ織鏂囦歡鍋歅OST錛屽垯鎶婃棩蹇楄拷鍔犲埌鍘熸棩蹇楃殑鍚庨潰銆傚鏋滄槸PUT鍒欒繘琛岀殑鏄浛鎹紝鎵浠UT鏄瓑騫傜殑錛岃孭OST涓嶆槸錛堝悗闈細璁詫級銆?br />
瀹夊叏錛圫afety錛?br />
GET鍜孒EAD鏂規硶鍙槸鑾峰彇璧勬簮鐨勮〃榪幫紝鎵浠ユ槸瀹夊叏鐨勩傚綋鐒朵篃鍙兘鏈変竴浜涘壇浣滅敤錛屾瘮濡傛湁浜涙湇鍔$浼氳褰旼ET鐨勬鏁扮瓑銆?br />
絳夊箓鎬э紙Idempotence錛?br />
絳夊箓鎬х畝鍗曠偣璇村氨鏄竴嬈¤姹傚拰澶氭璇鋒眰錛岃祫婧愮殑鐘舵佹槸涓鏍楓傛瘮濡侴ET鍜孒EAD錛屼笉璁轟綘璇鋒眰澶氬皯嬈★紝璧勬簮榪樻槸鍦ㄩ偅閲屻傝娉ㄦ剰錛孌ELETE鍜孭UT涔熸槸絳夊箓鐨勶紝浠ヤ負瀵瑰悓涓涓祫婧愬垹闄や竴嬈℃垨鑰呭嬈★紝緇撴灉鏄竴鏍風殑錛屽氨鏄祫婧愯鍒犻櫎浜嗭紝涓嶅瓨鍦ㄤ簡銆備負浠涔堣PUT涔熸槸絳夊箓鐨勶紵褰撲綘PUT涓涓柊璧勬簮鐨勬椂鍊欙紝璧勬簮琚垱寤猴紝鍐嶆PUT榪欎釜URI鐨勬椂鍊欙紝璧勬簮榪樻槸娌″彉銆傚綋浣燩UT涓涓瓨鍦ㄧ殑璧勬簮鏃訛紝鏇存柊浜嗚祫婧愶紝鍐嶆PUT鐨勬椂鍊欙紝榪樻槸鏇存柊鎴愯繖涓牱瀛愩傚湪PUT鏇存柊鐨勬椂鍊欙紝涓嶈兘鍋氱浉瀵圭殑鏇存柊錛堜緷璧栬祫婧愮幇鍦ㄧ殑鐘舵侊級錛屾瘮濡傛瘡嬈″涓涓暟鍔?錛岃繖鏍瘋祫婧愮姸鎬佸氨浼氬彉鍖栥傚簲璇ユ瘡嬈℃洿鏂版垚鏌愪釜鏁幫紝姣斿鎶婃煇涓暟鍙樻垚4錛屽垯鏃犺澶氬皯嬈UT錛屽奸兘鏄?錛岃繖鏍峰氨鏄瓑騫備簡銆?br />
鎴戜滑璁捐Restful WS鐨勬椂鍊欙紝GET錛孒EAD, PUT, DELETE涓瀹氳璁捐鎴愮瓑騫傜殑銆傜敱浜庣綉緇滄槸涓嶅彲闈犵殑錛屽畨鍏ㄦу拰絳夊箓鎬у氨鏄懼緱鐗瑰埆閲嶈銆傚鏋滀竴嬈¤姹傦紝鏈嶅姟鍣ㄦ敹鍒板鐞嗕互鍚庯紝瀹㈡埛绔病鏈夋敹鍒扮浉搴旓紝瀹㈡埛绔細鍐嶆璇鋒眰錛屽鏋滄病鏈夌瓑騫傛т繚闅滐紝灝變細鍙戠敓鎰忔兂涓嶅埌鐨勯棶棰樸?br />
POST鏄笉瀹夊叏涔熶笉絳夊箓鐨勶紝榪樻槸鎷縲eblog鐨勪緥瀛愶紝濡傛灉涓ゆPOST鐩稿悓鐨勫崥鏂囷紝鍒欎細浜х敓涓や釜璧勬簮錛孶RI鍙兘鏄繖鏍?weblogs/myweblog/entries/1鍜?weblogs/myweblog/entries/2錛屽敖綆′粬浠殑鍐呭鏄竴鎽鎬竴鏍風殑銆?br />