ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕系列一区,精品福利一区,国产一区导航http://www.aygfsteel.com/xiaomage234/category/54660.html生命本就是一‹Æ¡å‡„¾ŸŽçš„æ¼‚æµåQŒè®°å¿†ä¸æ”¾ä¸ä¸‹çš„åQŒæ°¸˜qœæ˜¯å©ææ—¶ä»£çš„那一份浪漫与¾U¯çœŸåQ?/description>zh-cnMon, 15 May 2017 20:16:46 GMTMon, 15 May 2017 20:16:46 GMT60- IM¾pÈ»Ÿæž¶æž„设计之浅è§ã€è{ã€?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2017/05/15/432528.html</link><dc:creator>ž®é©¬æ?/dc:creator><author>ž®é©¬æ?/author><pubDate>Mon, 15 May 2017 06:22:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2017/05/15/432528.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/432528.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2017/05/15/432528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/432528.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/432528.html</trackback:ping><description><![CDATA[from:http://mobile.51cto.com/hot-439693.htm<br /><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">背景åQšé™¤åŽÕd¤§å鼎鼎的QQ˜q™æ¬¾åÏx—¶èŠå¤©å·¥å…·åQŒè¿˜æœ‰è®¸å¤šç»†åˆ†è¡Œä¸šçš„IMåQŒæ¯”如淘å®é˜¿é‡Œæ—ºæ—ºã€ç½‘易æˆö泡ã€YYè¯éŸ³......。æ°å·§å…¬åæ€ñ”å“也è¦å¼€å‘一‹Æ‘ÖŸºäºŽæˆ‘ 们自å·Þp¡Œä¸šçš„¾c»IM¾pÈ»ŸåQŒå¾ˆæœ‰å¹¸æˆ‘担当了˜q™ä¸ªäº§å“的架构师åQŒæ ¸å¿ƒä»£ç 编写ã€å®žçŽ°è€…ã€‚ä¸‹é¢æŠŠæˆ‘è¿‘òq´æ¥ä»ŽæŠ€æœ¯ä¸Šæˆ‘对IM¾pÈ»ŸåQˆå³æ—¶æ¶ˆæ¯çš„ä¼ è¾“åQŒä¸åŒ…括è¯éŸ³åQŒè§†é¢‘,文äšgçš„ä¼ è¾“ï¼‰çš„ç†è§£å’Œè®¾è®¡åˆ†äín出æ¥åQŒæµ…薄之è§ï¼Œæœ›å¤§å®¶åˆ«è§ç¬‘åQŒæ¬¢˜qŽç»™å‡ºæ‰¹è¯„æ„è§ã€?/p><h3>一.¾|‘ç»œä¼ è¾“å议的选择</h3><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">ç›®å‰æˆ‘知晓的所有IM¾pÈ»Ÿä¼ 输åÏx—¶æ¶ˆæ¯æ— 外乎ä‹É用UDPã€TCPã€åŸºäºŽTCPçš„http˜q™å‡ ¿Uåè®®ä¸çš„一¿Uæˆ–å‡ ç§ã€‚比如QQ主è¦é‡‡ç”¨UDPåè®®åQŒMSN主è¦é‡‡ç”¨TCPåè®®åQŒè€Œä¸”他们也都支æŒHTTPåè®®çš„ä»£ç†æ¨¡å¼ã€‚更多资料,请å‚åŠ è¿™½‹‡æ–‡ç«?a target="_blank" style="color: #004276;">《一些常用èÊYä»¶çš„¾|‘络端å£å议分类介ç»ã€?/a>ã€?/p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">我们该如何选择呢?</p><ul style="margin: 0px 0px 0px 35px; padding: 0px; color: #333333; list-style: none outside none; word-wrap: break-word; word-break: normal; font-family: 宋体; background-color: #f8f8f8;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">UDPå议实时性更好,但是如何处ç†å®‰å…¨å¯é çš„ä¼ è¾“åÆˆä¸”å¤„ç†ä¸åŒå®¢æˆïL«¯ä¹‹é—´çš„æ¶ˆæ¯äº¤äº’是个难题,实现èµäh¥˜q‡äºŽå¤æ‚åQ?/p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">HTTPå议属于扩展支æŒåQŒæˆ‘们在产å“çš„åˆå§‹é˜¶ŒDµå¯ä»¥ä¸ç”¨æ”¯æŒï¼›</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">那就éžTCPå议莫属了,è¦è€ƒè™‘çš„åŒæ ·ä¹Ÿæœ‰å¾ˆå¤šï¼Œç‰¹åˆ«æ˜¯å¦‚果有‹¹·é‡ç”¨æˆ·çš„需求。如何ä¿è¯å•机æœåŠ¡å™¨é«˜åÆˆå‘é‡åQŒå¦‚何åšåˆ°çµ‹z»ï¼Œæ‰©å±•的架构ã€?/p></li></ul><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">Tips: <a target="_blank" style="color: #004276;">QQ ä¸ÞZ»€ä¹ˆé‡‡ç”?UDP åè®®åQŒè€Œä¸é‡‡ç”¨ TCP å议实现åQ?/a></p><h3>äº?åº”è¯¥é€‰æ‹©ä»€ä¹ˆæ ¼å¼çš„æ•°æ®åè®®</h3><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">äºŒè¿›åˆ¶æ ¼å¼ï¼Ÿæ–‡æœ¬æ ¼å¼åQŸè¿™ä¸ªè¯é¢˜è{到我的这½‹‡æ–‡ç«?a target="_blank" style="color: #004276;">《网¾lœä¼ è¾“æ•°æ®æ ¼å¼çš„选择ã€?/a>åQŒä»Žæˆ‘们当å‰çš„需求和产å“周期上我觉得选择JSONå½¢å¼çš„æ•°æ®å议是最好的ã€?/p><h3>ä¸?架构设计</h3><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">é¦–å…ˆæˆ‘ä»¬æ¥æç‚ég¸€ä¸‹ä¸€ä¸ªIM¾pÈ»Ÿçš„主è¦éœ€æ±‚,包括账å·åQŒå…³¾p»é“¾åQŒåœ¨¾U¿çŠ¶æ€æ˜¾½Cºï¼Œæ¶ˆæ¯äº¤äº’......ã€?/p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">架构考é‡åQ?/p><ul style="margin: 0px 0px 0px 35px; padding: 0px; color: #333333; list-style: none outside none; word-wrap: break-word; word-break: normal; font-family: 宋体; background-color: #f8f8f8;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">ç”׃ºŽé‡‡ç”¨å¯é ä¼ è¾“åè®®TCPåQŒè€ƒè™‘到负载问题(çŸè¿žæŽ¥å®žçްèÌŽå—÷€å…³¾p»é“¾ç›¸å…³ä¸šåŠ¡åQŒé•¿˜qžæŽ¥å®žçŽ°ä¸Šçº¿ã€ä¿¡æ¯æŽ¨é€ï¼‰åQ?/p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">åŽå°æž¶æž„的絋zÀL€§ã€å¯æ‰©å±•性,支æŒåˆ†å¸ƒå¼éƒ¨¾|?#8212;—把网¾lœå±‚ã€ä¸šåŠ¡é€»è¾‘å±‚ã€æ•°æ®å±‚分离åQŒç½‘¾lœå±‚和业务层支æŒè´Ÿè²å‡è¡¡½{–ç•¥ã€æ•°æ®å±‚支æŒåˆ†å¸ƒå¼å˜å‚¨ï¼›</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">客户端SDK的易用性:把网¾lœå±‚ã€æ•°æ®å±‚分离ã€ä¸šåŠ¡é€»è¾‘å±‚åˆ†¼›»ï¼›</p></li></ul><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">åŽå°æž¶æž„½Ž€åŒ–图</p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;"><a target="_blank" style="color: #004276;"><img width="480" height="318" border="0" alt="" src="http://s9.51cto.com/wyfs02/M02/28/68/wKioL1N5aXTzJmkqAADPN-OmLtU615.png" style="border: 0px;" /></a></p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">æž¶æž„½Cºæ„å›?/p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;"><a target="_blank" style="color: #004276;"><img width="480" height="340" border="0" alt="" src="http://s1.51cto.com/wyfs02/M01/28/68/wKiom1N5acHQgPTgAAIdkDkPfvs757.jpg" style="border: 0px;" /></a></p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">æž¶æž„¾l†åŒ–å›?/p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;"><a target="_blank" style="color: #004276;"><img width="480" height="340" border="0" alt="" src="http://s9.51cto.com/wyfs02/M00/28/68/wKioL1N5abSTiTpcAAO7q3GDlNM469.jpg" style="border: 0px;" /></a></p><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">说明</p><ul style="margin: 0px 0px 0px 35px; padding: 0px; color: #333333; list-style: none outside none; word-wrap: break-word; word-break: normal; font-family: 宋体; background-color: #f8f8f8;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">ä»?lt; æž¶æž„¾l†åŒ–å›?gt;ä¸å¯ä»¥çœ‹å‡ºå¯¹äºŽä¸Š¾U¿æœåŠ¡ç”±äºŽå¾ç«‹çš„æ˜¯TCP长连接,对于å•å°æœåС噍往往ç”׃ºŽ¼‹¬äšg资æºã€ç³»¾lŸèµ„æºã€ç½‘¾lœèµ„æºçš„é™åˆ¶æ— 法åšåˆ°‹¹·é‡ç”¨æˆ·çš„åŒæ—?在线åQŒæ‰€ä»¥è®¾è®¡äØ“æ ÒŽ®æœåŠ¡å™¨è´Ÿè½½æ”¯æŒå¤šæœåŠ¡å™¨ä¸Š¾U¿ï¼ŒåŒæ—¶ç”׃ºŽå¤šæœåŠ¡å™¨ä¸Šçº¿é€ æˆäº†å¯¹æ•´ä¸ª¾pÈ»Ÿäº¤äº’åQˆä¸åŒçš„客户端的交互åQŒå作部门应用æœåŠ¡å’Œå®¢æˆ·çš„äº¤äº’ï¼‰çš„åˆ† å‰ÔŒ¼Œå¼•入消æ¯è½¬å‘æœåŠ¡å™¨ä½œä¸ºç²˜åˆç‚¹ã€‚å¦å¤–对于多æœåŠ¡å™¨ä¸Š¾U‰K€ æˆçš„统一账户信æ¯åQˆåœ¨¾U¿çжæ€ï¼Œæ¶ˆæ¯åQ‰æ•°æ®çš„分割åQŒå¼•入统一的数æ®å±‚åQˆå†…å˜å˜å‚?层:sessionã€çжæ€ä¿¡æ¯å˜å‚¨ã€æ¶ˆæ¯é˜Ÿåˆ—å˜å‚¨ï¼›æ•°æ®åº“:账å·ä¿¡æ¯å˜å‚¨åQ‰åšåˆîC¸šåŠ¡å’Œæ•°æ®çš„分¼›»ï¼Œä¹Ÿå°±åšåˆ°äº†æ”¯æŒåˆ†å¸ƒå¼éƒ¨çÖv。å‚è§æˆ‘的这½‹‡æ–‡ç«?a target="_blank" style="color: #004276;">《构建高性能æœåŠ¡çš„è€ƒé‡ã€?/a></p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">对于部分业务æœåŠ¡åQšåšåˆ°ç½‘¾lœå±‚ã€ä¸šåŠ¡å±‚ã€æ•°æ®å±‚的完全分¼›…R€‚首先对于TCPçŸè¿žæŽ¥æ¥è¯´ä¸ä¼šå¦‚长连接那般消耗资æºï¼Œå³ä‹ÉåŽæœŸé‡åˆ°‹¹·é‡çš„åÆˆå‘访问请求ä¾ç„¶å¯ä»¥ä»Žå®¹çš„通过负è²å‡è¡¡½{–略和数æ®åˆ†å¸ƒå¼éƒ¨çÖv½{–ç•¥˜q›è¡Œè§£å†³ã€‚å‚è§æˆ‘的这½‹‡æ–‡ç«?a target="_blank" style="color: #004276;">《æœåŠ¡ç«¯æž¶æž„ä¸çš„“¾|‘å…³æœåŠ¡å™?#8221;ã€?/a></p></li></ul><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">æœåŠ¡ç«¯åã^å°åŠæŠ€æœ¯é€‰åž‹</p><ul style="margin: 0px 0px 0px 35px; padding: 0px; color: #333333; list-style: none outside none; word-wrap: break-word; word-break: normal; font-family: 宋体; background-color: #f8f8f8;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">¾pÈ»Ÿå¼€å‘åã^åŽÍ¼š CentOS——Linuxå‘行版的一¿U,½E›_®šå¯é ã€å¯å®šåˆ¶ä¼˜åŒ–ã€æ”¯æŒä¸°å¯Œï¼›</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">¾|‘络支撑层: libevent——å‡å°å¼€å‘æˆæœ¬ï¼Œå¢žå¼º½E›_®šæ€§ï¼›</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">¾~“å˜å˜å‚¨å±‚: Redis——支æŒä¸°å¯Œçš„å˜å‚¨ç»“构,支æŒåˆ†å¸ƒå¼å˜å‚¨ï¼›</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">æ•°æ®åº“: MySQL——最适åˆäº’蔾|‘的数æ®åº“ï¼Œå…æŽˆæƒã€é«˜æ•ˆç¨³å®šã€å¯æŽ§æ€§é«˜åQ?/p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">å¼€å‘è¯a€åQ?C/C++åQ?/p></li></ul><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">部分çƒç‚¹é—®é¢˜è€ƒé‡</p><ul style="margin: 0px 0px 0px 35px; padding: 0px; color: #333333; list-style: none outside none; word-wrap: break-word; word-break: normal; font-family: 宋体; background-color: #f8f8f8;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">¾pÈ»Ÿæ€§èƒ½è€ƒé‡åQ?/p><ul style="margin: 0px 0px 0px 35px; padding: 0px; list-style: none outside none; word-wrap: break-word; word-break: normal;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">¾~–ç 角度åQšé‡‡ç”¨é«˜æ•ˆçš„¾|‘络模型åQŒçº¿½E‹æ¨¡åž‹ï¼ŒI/Oå¤„ç†æ¨¡åž‹åQŒåˆç†çš„æ•°æ®åº“设计和æ“作è¯å¥çš„优化;</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">垂直扩展åQšé€šè¿‡æé«˜å•æœåŠ¡å™¨çš„ç¡¬ä»¶èµ„æºæˆ–者网¾lœèµ„æºæ¥æé«˜æ€§èƒ½åQ?/p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">æ°´åã^扩展åQšé€šè¿‡åˆç†çš„æž¶æž„设计和˜qç»´æ–šw¢çš„è´Ÿè½½å‡è¡¡ç–略将负è²åˆ†æ‹…åQŒæœ‰æ•ˆæé«˜æ€§èƒ½åQ›åŽæœŸç”šè‡›_¯ä»¥è€ƒè™‘åŠ å…¥æ•°æ®¾~“å˜å±‚,½Hç ´IO瓉™¢ˆåQ?/p></li></ul></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">¾pÈ»Ÿçš„高å¯ç”¨æ€§ï¼šåQˆé˜²æ¢å•ç‚ÒŽ•…障)</p><ul style="margin: 0px 0px 0px 35px; padding: 0px; list-style: none outside none; word-wrap: break-word; word-break: normal;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">在架构设计时åšåˆ°ä¸šåС处ç†å’Œæ•°æ®çš„分离åQŒä»Žè€Œä¾èµ–分布å¼çš„部¾|²ä‹É得在å•点故障时能ä¿è¯¾pÈ»Ÿå¯ç”¨ã€?/p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">对于关键独立节点å¯ä»¥é‡‡ç”¨åŒæœºçƒå¤‡æŠ€æœ¯è¿›è¡Œåˆ‡æ¢ã€?/p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">æ•°æ®åº“æ•°æ®çš„安全性å¯ä»¥é€šè¿‡¼‚盘阵列的冗余酾|®å’Œä¸Õd¤‡æ•°æ®åº“æ¥è§£å†³ã€?/p></li></ul></li></ul><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">主è¦å¦ä¹ 资料åQ?误‚‡ªè¡Œgoogleã€?/p><ul style="margin: 0px 0px 0px 35px; padding: 0px; color: #333333; list-style: none outside none; word-wrap: break-word; word-break: normal; font-family: 宋体; background-color: #f8f8f8;"><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">ã€?.4亿在¾U¿èƒŒåŽçš„æ•…事》;</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">《BasicDB的架构演å˜ã€‹ï¼›</p></li><li style="margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none; word-wrap: break-word; word-break: normal; background: url("http://images.51cto.com/images/art1105/images/list.jpg") 0px 50% no-repeat;"><p style="margin: 10px 0px; padding: 0px; background-color: transparent; text-indent: 28px;">《微信之é“ï¼è‡³ç®€ã€‹ï¼›</p></li></ul><p style="margin: 10px 0px; padding: 0px; color: #333333; background-color: #f8f8f8; text-indent: 28px; font-family: 宋体;">æœ¬æ–‡å‡ø™‡ª51åšå®¢ “<a style="color: #004276;">永远的朋å?/a>” åQŒè{载请务必ä¿ç•™æ¤å‡ºå¤?a style="color: #004276;">http://yaocoder.blog.51cto.com/2668309/1412029</a></p><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/432528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">ž®é©¬æ?/a> 2017-05-15 14:22 <a href="http://www.aygfsteel.com/xiaomage234/archive/2017/05/15/432528.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>一个完整的微æœåŠ¡ç³»¾lŸï¼Œåº”该包å«å“ªäº›åŠŸèƒ½åQ?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2016/08/13/431556.html</link><dc:creator>ž®é©¬æ?/dc:creator><author>ž®é©¬æ?/author><pubDate>Sat, 13 Aug 2016 02:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2016/08/13/431556.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/431556.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2016/08/13/431556.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/431556.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/431556.html</trackback:ping><description><![CDATA[from:http://www.infoq.com/cn/articles/what-complete-micro-service-system-should-include?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage<br /><br /><br /><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">˜q‘å‡ òqß_¼Œå¾®æœåŠ¡æž¶æž„è¿…é€Ÿåœ¨æ•´ä¸ªæŠ€æœ¯ç¤¾åŒºçªœ¾U¢ï¼Œå®ƒè¢«è®¤äؓ是IT软äšgæž¶æž„çš„æœªæ¥æ–¹å‘,大神Martin Fowler也给微æœåŠ¡æžé«˜çš„评äh。那ä¸ÞZ»€ä¹ˆæˆ‘们需è¦å¾®æœåŠ¡åQŒå¾®æœåŠ¡çš„çœŸæ£ä¼˜åŠ¿åˆ°åº•æ˜¯ä»€ä¹ˆï¼Œä¸€ä¸ªå®Œæ•´çš„å¾®æœåŠ¡ç³»¾lŸï¼Œåº”该包å«å“ªäº›åŠŸèƒ½åQŒæœ¬æ–‡ä½œè€…刘彦夫在èÊY件设计和开å‘领域有10多年工作¾l验åQŒä»–ž®†ä¼šä»Žä»–çš„è§’åº¦ç»™å‡ºç”æ¡ˆã€?/p><h2>对微æœåŠ¡çš„åŸºæœ¬ç†è§?/h2><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">™å‘Öæ€ä¹‰åQŒå¾®æœåŠ¡è¦ä»Žä¸¤ä¸ªæ–šw¢æ¥ç†è§£ï¼Œä¸€ä¸ªæ˜¯“å¾?#8221;åQŒä¸€ä¸ªæ˜¯“æœåŠ¡”。体型å°åˆîC¸€å®šç¨‹åº¦æ‰èƒ½å«“å¾?#8221;åQŒè¿™ä¸ªç¨‹åº¦æ˜¯ä»€ä¹ˆå‘¢åQŸä¸€ä¸ªèíné«?¾c?åQŒä½“é‡?0斤的MMåQŒæˆ‘们说她苗æ¡ã€‚å¾®æœåŠ¡ä¹Ÿä¸€æ øP¼Œæ ÒŽ®äºšé©¬é€ŠCEO Bezos¾l™å‡ºçš„æœ‰‘£å®šä¹‰ï¼Œå•个微æœåŠ¡çš„è®¾è®¡ã€å¼€å‘ã€æµ‹è¯•å’Œ˜q维的所有ähåŠ åœ¨ä¸€èµ·åƒé¥ï¼Œåªéœ€è¦ä¸¤ä¸ªæ‰¹è¨å°±å¤Ÿäº†åQŒè¿™æ˜¯å°±æ˜¯è‘—åçš„two pizza team ruleã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;"><span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">å…·å¤‡ä»€ä¹ˆæ ·çš„èƒ½åŠ›æ‰èƒ½ç®—æ˜?#8220;æœåŠ¡”åQ?/span>˜q™ä¸ªè¯é¢˜å¾ˆå¤§åQŒæˆ‘˜q™é‡ŒæŒ‰ç…§è‡ªå·±çš„片é¢ç†è§£æ€È»“一下,所谓æœåŠ¡å°±ä¸€å®šä¼šåŒºåˆ«äºŽç³»¾lŸçš„功能åQŒæœåŠ¡æ˜¯ä¸€ä¸ªæˆ–è€…ä¸€¾l„相对的较å°ä¸”独立的功能å•å…ƒåQŒæ˜¯ç”¨æˆ·å¯ä»¥æ„ŸçŸ¥çš„功能最ž®é›†åQŒæ¯”如:è´ç‰©è½¦ï¼Œè®¢å•åQŒä¿¡ç”¨å¡¾l“ç®—½{‰éƒ½å¯ä»¥ä½œäØ“å•个æœåŠ¡ç‹¬ç«‹æä¾›ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">˜q™ä¸ªç†è§£æ˜„¡„¶ä¸å¤Ÿæ·±åˆ»åQŒäؓ了进一æ¥ç†è§£äؓ什么微æœåŠ¡åœ¨è¿‘ä¸¤å¹´ä¸šç•Œ˜q…速窜¾U¢ï¼Œç†è§£ä¸ÞZ»€ä¹ˆå¾®æœåŠ¡ä¼šè¢«è®¤äØ“æ˜¯IT软äšgæž¶æž„çš„æœªæ¥æ–¹å‘,<span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">ž®Þp¦ç†è§£ä¸ÞZ»€ä¹ˆæˆ‘们需è¦å¾®æœåŠ¡åQŸå®ƒèƒ½ç»™ä¼ä¸šå¸¦æ¥ä»€ä¹ˆäh倹{€?/span>ä¼ ç»Ÿä¼ä¸šçš„IT软äšg大多都是å„ç§ç‹¬ç«‹¾pÈ»Ÿçš„å †ç Œï¼Œ˜q™äº›¾pÈ»Ÿçš„问题æ€È»“æ¥è¯´ž®±æ˜¯æ‰©å±•性差åQŒå¯é 性ä¸é«˜ï¼Œ¾l´æŠ¤æˆæœ¬é«˜ã€‚åŽæ¥æœ‰äº†ä¸€ä¸ªå«SOAçš„èÊY件架构专门针对这些问题给å‡ÞZº†ä¸€å¥—è§£å†Ïx–¹æ¡ˆï¼Œå¾ˆå¤šä¼ä¸šä¹Ÿå› æ¤å°†è‡ªèínIT¾pÈ»Ÿ˜q移到SOA架构上ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">但是åQŒç”±äºŽSOA早期å‡ä‹É用了æ€Èº¿æ¨¡å¼åQŒè¿™¿Uæ€Èº¿æ¨¡å¼æ˜¯ä¸ŽæŸç§æŠ€æœ¯æ ˆå¼ºç»‘定的åQŒæ¯”如:J2EEã€‚è¿™å¯ÆD‡´å¾ˆå¤šä¼ä¸šçš„é—留系¾lŸå¾ˆéš‘Ö¯¹æŽ¥ï¼Œåˆ‡æ¢æ—‰™—´å¤ªé•¿åQŒæˆæœ¬å¤ªé«˜ï¼Œæ–°ç³»¾lŸç¨³å®šæ€§çš„æ”¶æ•›ä¹Ÿéœ€è¦ä¸€äº›æ—¶é—´ã€‚最¾lˆSOAå¼€èµäh¥å¾ˆç¾ŽåQŒä½†å´æˆä¸ÞZº†ä¼ä¸š¾U§å¥¢ä¾ˆå“åQŒä¸ž®å…¬å”Rƒ½æœ›è€Œç”Ÿç•ã€?/p><h2>ä¾ç„¶SOA</h2><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">å¾®æœåŠ¡ï¼Œä»Žæœ¬è´¨æ„义上看,˜q˜æ˜¯SOA架构。但内涵有所ä¸åŒåQŒå¾®æœåŠ¡òq¶ä¸¾l‘定æŸç§ç‰ÒŽ®Šçš„æŠ€æœ¯ï¼Œåœ¨ä¸€ä¸ªå¾®æœåŠ¡çš„ç³»¾lŸä¸åQŒå¯ä»¥æœ‰Java¾~–写的æœåŠ¡ï¼Œä¹Ÿå¯ä»¥æœ‰Python¾~–写的æœåŠ¡ï¼Œä»–ä»¬æ˜¯é Restfulæž¶æž„é£Žæ ¼¾lŸä¸€æˆä¸€ä¸ªç³»¾lŸçš„ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">最¾_—æµ…çš„ç†è§£å°±æ˜¯å°†å¾®æœåŠ¡ä¹‹é—´çš„äº¤äº’çœ‹ä½œæ˜¯å„¿Uå—½W¦ä¸²çš„ä¼ é€’ï¼Œå„ç§è¯è¨€éƒ½å¯ä»¥å¾ˆå¥½çš„处ç†å—符ä¸ÔŒ¼Œæ‰€ä»¥å¾®æœåŠ¡æœ¬èínä¸Žå…·ä½“æŠ€æœ¯å®žçŽ°æ— å…»I¼Œæ‰©å±•性强。å¦ä¸€ä¸ªä¸åŒæ˜¯å¾®æœåŠ¡æž¶æž„æœ¬íw«å¾ˆè½»ï¼Œåº•层也有¾cÖM¼¼äºŽSOAçš„æ€Èº¿åQŒä¸˜q‡éžå¸¸è½»è–„ï¼ŒçŽ°åœ¨çœ‹åˆ°çš„å°±ä¸¤ç§æ–¹å¼åQšMQå’ŒHTTPåQŒè€ŒHTTP都ä¸èƒ½å®Œå…¨ç‰åŒäºŽæ€Èº¿åQŒè€Œä»…仅是个信æ¯é€šé“ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">所以,åŸÞZºŽ˜q™ç§½Ž€å•的的åè®®è§„èŒƒï¼Œæ— è®ºæ˜¯å…¼å®¹è€æ—§¾pÈ»ŸåQŒè¿˜æ˜¯ä¸Š¾U¿æ–°ä¸šåŠ¡åQŒéƒ½å¯ä»¥éšç€æ—¶ä»£çš„æ¥ä¼ï¼Œæ»šåЍå‡çñ”ã€‚æ¯”å¦‚ï¼šä½ åŽ»òq´è¿˜åœ¨ä‹Éç”?NET技术,今年ž®±å¯ä»¥åã^滑的˜q‡åº¦åˆ°Go了,而且¾pÈ»Ÿå·²æœ‰æœåŠ¡ä¸ç”¨æ”¹åŠ¨ã€‚æ‰€ä»¥å¾®æœåŠ¡æž¶æž„åQŒæ—¢ä¿æŠ¤ç”¨æˆ·å·²æœ‰æŠ•资åQŒåˆå¾ˆå®¹æ˜“呿–°æŠ€æœ¯æ¼”˜q›ã€?/p><h2>å¾®æœåŠ¡æ°´ä¸‹çš„å†°å±±</h2><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">äººæœˆä¸æ˜¯é“¶å¼¹åQŒå¾®æœåŠ¡æ›´ä¸æ˜¯é“¶å¼¹ï¼Œå¥½åƒè½¯äšgå¾®æœåŠ¡åŒ–äº†ï¼Œè½¯äšg¾pÈ»Ÿž®Þpƒ½å¤Ÿåº”对儿U问题了。其实微æœåŠ¡çš„æ°´é¢ä¸‹è—ç€å·¨å¤§çš„å†°å±±ã€‚ä¸‹é¢æ˜¯å¾®æœåŠ¡æä¾›çš„能力åQŒä»¥åŠèƒŒåŽéœ€è¦ä»˜å‡ºçš„代ähã€?/p><ol style="margin: 10px 0px 10px 10px; padding: 0px 0px 0px 20px; border: 0px; width: 549px; clear: left; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; line-height: 25.2px; background-color: #ffffff;"><li style="margin: 4px 0px; padding: 0px 0px 0px 10px; border: none; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 1.8; clear: none; width: 539px; float: none !important;">å•个微æœåС代ç 釞®ï¼Œæ˜“修改和¾l´æŠ¤ã€‚但是,¾pÈ»Ÿå¤æ‚åº¦çš„æ€»é‡æ˜¯ä¸å˜çš„åQŒæ¯ä¸ªæœåС代ç 少了,但æœåŠ¡çš„ä¸ªæ•°è‚¯å®šž®±å¤šäº†ã€?span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">ž®Þp·Ÿæ‹¼å›¾æ¸¸æˆä¸€æ øP¼Œåˆ‡çš„‘Šç¢ŽåQŒè¶Šé𾿋¼å‡ºæ•´òq…图ã€?/span>一个系¾lŸè¢«æ‹†åˆ†æˆé›¶¼„Žçš„å¾®æœåŠ¡ï¼Œæœ€åŽè¦é›†æˆä¸ÞZ¸€ä¸ªå®Œæ•´çš„¾pÈ»ŸåQŒå…¶å¤æ‚度肯定比大å—的功能集æˆè¦é«˜å¾ˆå¤šã€?/p><div style="margin: 0px; border: 0px; height: 0px; clear: both; font-size: 0px;"></div></li><li style="margin: 4px 0px; padding: 0px 0px 0px 10px; border: none; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 1.8; clear: none; width: 539px; float: none !important;">å•个微æœåŠ¡æ•°æ®ç‹¬ç«‹ï¼Œå¯ç‹¬ç«‹éƒ¨¾|²å’Œ˜q行。虽然微æœåŠ¡æœ¬èín是å¯ä»¥ç‹¬ç«‹éƒ¨¾|²å’Œ˜q行的,但ä»ç„‰™¿å…ä¸äº†ä¸šåŠ¡ä¸Šçš„ä½ æ¥æˆ‘å¾€åQŒè¿™ž®±æ¶‰åŠåˆ°è¦å¯¹å¤–通信åQŒå½“å¾®æœåŠ¡çš„æ•°é‡è¾‘Öˆ°ä¸€å®šé‡¾U§çš„æ—¶å€™ï¼Œå¦‚何æä¾›ä¸€ä¸ªé«˜æ•ˆçš„集群通信机制æˆäؓ一个问题ã€?/p></li><li style="margin: 4px 0px; padding: 0px 0px 0px 10px; border: none; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 1.8; clear: none; width: 539px; float: none !important;">å•个微æœåŠ¡æ‹¥æœ‰è‡ªå·Þqš„˜q›ç¨‹åQŒè¿›½E‹æœ¬íw«å°±å¯ä»¥åЍæ€çš„å¯åœåQŒäØ“æ— ç¼å‡çñ”的打好了基础åQŒä½†è°æ¥å¯åŠ¨å’Œåœæ¢è¿›½E‹ï¼Œä»€ä¹ˆæ—¶æœºï¼Œé€‰æ‹©åœ¨å“ªå°è®¾å¤‡ä¸Šåšè¿™ä»¶äº‹æƒ…æ‰æ˜¯æ— ¾~凾U§çš„å…³é”®ã€‚è¿™ä¸ªèƒ½åŠ›åÆˆä¸æ˜¯å¾®æœåŠ¡æœ¬íw«æä¾›çš„åQŒè€Œæ˜¯éœ€è¦èƒŒåŽå¼ºå¤§çš„版本½Ž¡ç†å’Œéƒ¨¾|²èƒ½åŠ›ã€?/p></li><li style="margin: 4px 0px; padding: 0px 0px 0px 10px; border: none; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 1.8; clear: none; width: 539px; float: none !important;">多个相åŒçš„å¾®æœåŠ¡å¯ä»¥åšè´Ÿè½½å‡è¡¡ï¼Œæé«˜æ€§èƒ½å’Œå¯é æ€§ã€‚æ£æ˜¯å› 为相åŒå¾®æœåŠ¡å¯ä»¥æœ‰å¤šä¸ªä¸åŒå®žä¾‹ï¼Œè®©æœåŠ¡æŒ‰éœ€åŠ¨æ€äŽ×¾~©æˆä¸ºå¯èƒ½ï¼Œåœ¨é«˜å³°æœŸå¯ä»¥å¯åŠ¨æ›´å¤šçš„ç›¸åŒçš„å¾®æœåŠ¡å®žä¾‹äØ“æ›´å¤šç”¨æˆ·æœåŠ¡åQŒä»¥æ¤æé«˜å“åº”é€Ÿåº¦ã€‚åŒæ—¶è¿™¿U机制也æä¾›äº†é«˜å¯é 性,在æŸä¸ªå¾®æœåŠ¡æ•…éšœåŽï¼Œå…¶ä»–相åŒçš„å¾®æœåŠ¡å¯ä»¥æŽ¥æ›¿å…¶å·¥ä½œï¼Œå¯¹å¤–表现为æŸä¸ªè®¾å¤‡æ•…éšœåŽä¸šåŠ¡ä¸ä¸æ–ã€‚åŒæ ïLš„é“ç†åQŒå¾®æœåŠ¡æœ¬èín是ä¸ä¼šå޻兛_¿ƒ¾pÈ»Ÿè´Ÿè²çš„,那么什么时候应该å¯åŠ¨æ›´å¤šçš„å¾®æœåŠ¡ï¼Œå¤šä¸ªå¾®æœåŠ¡çš„‹¹é‡åº”该如何调度和分å‘,˜q™èƒŒåŽä¹Ÿæœ‰ä¸€å¥—夿‚的负è²ç›‘控和å‡è¡¡çš„¾pÈ»Ÿåœ¨è“v作用ã€?/p><div class="wmqeeuq" id="lowerFullwidthVCR" style="margin: 0px; border: 0px;"></div></li><li style="margin: 4px 0px; padding: 0px 0px 0px 10px; border: none; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 1.8; clear: none; width: 539px; float: none !important;">å¾®æœåŠ¡å¯ä»¥ç‹¬ç«‹éƒ¨¾|²å’Œå¯¹å¤–æä¾›æœåŠ¡åQŒå¾®æœåŠ¡çš„ä¸šåŠ¡ä¸Š¾U¿å’Œä¸‹çº¿æ˜¯åЍæ€çš„åQŒå½“一个新的微æœåŠ¡ä¸Šçº¿æ—Óž¼Œç”¨æˆ·æ˜¯å¦‚何访问到˜q™ç§æ–°çš„æœåŠ¡åQ?span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">˜q™å°±éœ€è¦æœ‰ä¸€ä¸ªç»Ÿä¸€çš„å…¥å£ï¼Œæ–°çš„æœåŠ¡å¯ä»¥åЍæ€çš„æ³¨å†Œåˆ°è¿™ä¸ªå…¥å£ä¸ŠåQŒç”¨æˆäh¯‹Æ¡è®¿é—®æ—¶å¯ä»¥ä»Žè¿™ä¸ªå…¥å£æ‹¿åˆ°ç³»¾lŸæ‰€æœ‰æœåŠ¡çš„è®‰K—®åœ°å€åQŒç±»ä¼égºŽåˆ°é¤åŽ…åƒé¥ï¼Œæ–°èœè¦å†™åˆ?#8220;èœå•”ä¸ï¼Œä»¥ä¾›ç”¨æˆ·é€‰æ‹©</span>。这个统一的系¾lŸå…¥å£åÆˆä¸æ˜¯å¾®æœåŠ¡æœ¬íw«çš„一部分åQŒæ‰€ä»¥è¿™¿U能力需è¦ç³»¾lŸå•独æä¾›ã€?/p></li><li style="margin: 4px 0px; padding: 0px 0px 0px 10px; border: none; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 1.8; clear: none; width: 539px; float: none !important;">˜q˜æœ‰ä¸€äº›ä¼ä¸šçñ”å…Ïx³¨çš„ç³»¾lŸé—®é¢˜ï¼Œæ¯”如åQŒå®‰å…¨ç–略如何集ä¸ç®¡ç†ï¼Ÿ¾pÈ»Ÿæ•…障如何快速审计和跟踪到具体æœåŠ¡ï¼Ÿæ•´ä¸ª¾pÈ»Ÿçжæ€å¦‚何监控?æœåŠ¡ä¹‹é—´çš„ä¾èµ–å…³¾pÕd¦‚何管ç†ï¼Ÿ½{‰ç‰˜q™äº›é—®é¢˜éƒ½ä¸æ˜¯å•个微æœåŠ¡è€ƒè™‘çš„èŒƒç•ß_¼Œè€Œéœ€è¦æœ‰ä¸€ä¸ªç³»¾lŸæ€§çš„考虑和设计,让æ¯ä¸ªå¾®æœåŠ¡éƒ½èƒ½å¤ŸæŒ‰ç…§ç³»¾lŸæ€§çš„è¦æ±‚å’Œçº¦æŸæä¾›å¯¹åº”çš„å®‰å…¨æ€§ï¼Œå¯é 性,å¯ç»´æŠ¤æ€§çš„能力ã€?/p></li></ol><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">¾lég¸Šæ‰€˜qŽÍ¼Œå¾®æœåŠ¡å…³é”®å…¶å®žä¸ä»…仅是微æœåŠ¡æœ¬èínåQŒè€Œæ˜¯¾pÈ»Ÿè¦æä¾›ä¸€å¥—基¼‹€çš„æž¶æž„,˜q™ç§æž¶æž„使得微æœåŠ¡å¯ä»¥ç‹¬ç«‹çš„部çÖvã€è¿è¡Œã€å‡¾U§ï¼Œä¸ä»…如æ¤åQŒè¿™ä¸ªç³»¾lŸæž¶æž„还让微æœåŠ¡ä¸Žå¾®æœåŠ¡ä¹‹é—´åœ¨ç»“æž„ä¸Š“æ¾è€¦åˆ”åQŒè€Œåœ¨åŠŸèƒ½ä¸Šåˆ™è¡¨çŽ°ä¸ÞZ¸€ä¸ªç»Ÿä¸€çš„æ•´ä½“。这¿U所谓的“¾lŸä¸€çš„æ•´ä½?#8221;表现出æ¥çš„æ˜¯¾lŸä¸€é£Žæ ¼çš„界é¢ï¼Œ¾lŸä¸€çš„æƒé™ç®¡ç†ï¼Œ¾lŸä¸€çš„安全ç–略,¾lŸä¸€çš„上¾U¿è¿‡½E‹ï¼Œ¾lŸä¸€çš„æ—¥å¿—和审计æ–ÒŽ³•åQŒç»Ÿä¸€çš„调度方å¼ï¼Œ¾lŸä¸€çš„访问入å£ç‰½{‰ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">˜q™äº›¾pÈ»Ÿæ€§çš„åŠŸèƒ½ä¹Ÿéœ€è¦æœ‰ä¸€äº›æœåŠ¡æ¥æä¾›åQŒè¿™äº›æœåŠ¡ä¸ä¼šç›´æŽ¥å‘ˆçŽ°ç»™æœ€¾lˆç”¨æˆøP¼Œä¹Ÿå°±æ˜¯å¾®æœåŠ¡¾pÈ»Ÿå†°å±±ä¸‹é¢çš„部分,我们å¯ä»¥½Ž€¿U°å®ƒä¸ºå¾®æœåŠ¡¾pÈ»Ÿçš?#8220;底åñ””。所有的微æœåŠ¡éƒ½åƒä¸€ä¸ªAPPåQŒæ’在这个底座的上é¢åQŒäínå—这个底座æä¾›çš„¾pÈ»Ÿèƒ½åŠ›æ¯”å¦‚åQšå…ƒæ•°æ®å˜æ”¾ã€ç°åº¦å‘布ã€è“¾l‰Kƒ¨¾|²ç‰½{‰ã€?/p><h2>å¾®æœåŠ¡ç³»¾lŸåº•åº?/h2><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">一个完整的微æœåŠ¡ç³»¾lŸï¼Œå®ƒçš„底åñ”最ž®‘è¦åŒ…å«ä»¥ä¸‹åŠŸèƒ½åQ?/p><ul style="margin: 0px 0px 15px 10px; padding: 0px; border: 0px; clear: left; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; line-height: 25.2px; background-color: #ffffff;"><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">æ—¥å¿—å’Œå®¡è®¡ï¼Œä¸»è¦æ˜¯æ—¥å¿—的汇总,分类和查è¯?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">监控和告è¦ï¼Œä¸»è¦æ˜¯ç›‘控æ¯ä¸ªæœåŠ¡çš„çŠ¶æ€ï¼Œå¿…è¦æ—¶äñ”生告è?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">æ¶ˆæ¯æ€Èº¿åQŒè½»é‡çñ”çš„MQ或HTTP</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">注册å‘现</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">è´Ÿè²å‡è¡¡</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">部çÖv和凾U?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">事äšg调度机制</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">èµ„æº½Ž¡ç†åQŒå¦‚åQšåº•å±‚çš„è™šæ‹Ÿæœºï¼Œç‰©ç†æœºå’Œ¾|‘络½Ž¡ç†</p></li></ul><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">ä»¥ä¸‹åŠŸèƒ½ä¸æ˜¯æœ€ž®é›†çš„一部分åQŒä½†ä¹Ÿå±žäºŽåº•座功能:</p><ul style="margin: 0px 0px 15px 10px; padding: 0px; border: 0px; clear: left; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; line-height: 25.2px; background-color: #ffffff;"><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">认è¯å’Œé‰´æ?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">å¾®æœåŠ¡ç»Ÿä¸€ä»£ç æ¡†æž¶åQŒæ”¯æŒå¤š¿Uç¼–½E‹è¯a€</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">¾lŸä¸€æœåŠ¡æž„å¾å’Œæ‰“åŒ?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">¾lŸä¸€æœåŠ¡‹¹‹è¯•</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">å¾®æœåŠ¡CI/CD‹¹æ°´¾U?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">æœåŠ¡ä¾èµ–关系½Ž¡ç†</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">¾lŸä¸€é—®é¢˜è·Ÿè¸ªè°ƒè¯•框架åQŒä¿—¿U°è°ƒç”¨é“¾</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">ç°åº¦å‘布</p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">è“绿部çÖv</p></li><h2><ul style="margin: 0px 0px 15px 10px; padding: 0px; border: 0px; clear: left;"></ul>令ähå›°æƒ‘çš„å‡ ä¸ªé—®é¢?/h2></ul><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;"><span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">å¾®æœåŠ¡çš„åº•åñ”æ˜¯ä¸æ˜¯å¿…™åÈš„åQ?/span></p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">是的åQŒåŸºæœ¬ä¸Šæ˜¯å¿…™åÈš„ã€‚ä½ å¯ä»¥ä¸ç”¨ä»£ç 实现一个资æºç®¡ç†æœåŠ¡ï¼Œå¯ä»¥æ‰‹å·¥ç”¨Excel½Ž¡ç†ä½ 的所有机器资æºï¼Œä½†æ˜¯ä¸ä»£è¡¨å¾®æœåŠ¡¾pÈ»Ÿæ²¡æœ‰˜q™ä¸ªåŠŸèƒ½åQŒåªä¸è¿‡˜q™ä¸ªåŠŸèƒ½æ˜¯äh工实现的。å†ä¸¾ä¸ªä¾‹ååQŒæ—¥å¿—ç³»¾lŸå¦‚æžœåªæ˜¯ç®€å•çš„æ‰“å°æ–‡äšgåQŒé‚£ä¹ˆå¤šä¸ªå¾®æœåŠ¡çš„æ—¥å¿—å°±éœ€è¦æ‰‹å·¥æ”¶é›†ï¼Œäººå·¥åˆ†ç±»å’Œç›é€‰ã€‚所以,微æœåŠ¡çš„åº•åñ”最ž®é›†ä¸€å®šä¼šå˜åœ¨åQŒé—®é¢˜æ˜¯çœ‹æ€Žæ ·å®žçŽ°å®ƒã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">˜q™é‡Œä»…仅是æ€È»“了对微æœåŠ¡ç³»¾lŸçš„基本ç†è§£åQŒè€Œå®žçŽ°è¿™ä¸ªæž¶æž„æœ‰å¾ˆå¤šæŠ€æœ¯ï¼Œ˜q™é‡Œä¸è¿›è¡Œè¯¦¾l†å±•开。实跉|–¹é¢ï¼ŒæŽ¨è王磊的《微æœåŠ¡æž¶æž„ä¸Žå®žè·üc€‹ï¼Œä»–æ˜qîCº†ä½¿ç”¨Ruby相关的技术实çŽîCº†ä¸€æ•´å¥—å¾®æœåŠ¡ç³»¾lŸï¼Œç‰¹åˆ«æ˜¯ä¹¦ä¸åŽé¢çš„实践部分讲解了如何将已有的系¾lŸæ¼”åŒ–äØ“å¾®æœåŠ¡æž¶æž„ï¼Œæ˜¯å¾ˆå¥½çš„å‚è€ƒå’ŒæŒ‡å¯¼ææ–™ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;"><span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">æ˜¯ä¸æ˜¯æ‰€æœ‰èÊY仉™ƒ½èƒ½åšå¾®æœåŠ¡ï¼Ÿ</span></p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">˜q™ä¸ªå‘½é¢˜æœ‰äº›å¾®å¦™åQŒä¹Ÿå¾ˆéš¾è¯´æ¸…楚,回甘q™ä¸ªå‘½é¢˜æœ¬èínž®±æ˜¯ä¸€¿U挑战,å¯èƒ½æœ€¾lˆä¹Ÿæ²¡æœ‰æ£ç¡®½{”案。丘q‡ï¼Œæˆ‘还是把我自å·Þqš„ç†è§£å†™åœ¨˜q™é‡ŒåQŒè®©å¤§å®¶åŽÀL‹ç –。在我这里,½{”案是å¦å®šçš„。我åªéœ€ä¸‘Ö‡ºä¸€ä¸ªå例,比如åQšå˜å‚¨ç³»¾lŸï¼Œå…¶æž¶æž„æ˜¯ä¼ ç»Ÿçš„åˆ†å±‚æž¶æž„ï¼Œæ¯ä¸€å±‚都使用下é¢ä¸€å±‚çš„æœåŠ¡åQŒåƈä¸ÞZ¸Šä¸€å±‚æä¾›æœåŠ¡ã€‚è™½ç„¶å¯ä»¥å°†˜q™ç§æž¶æž„调整为基于æœåŠ¡çš„æž¶æž„åQŒä½†æ²¡åŠžæ³•åšæˆå¾®æœåŠ¡ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">区别在哪里呢åQŸæ ¸å¿ƒçš„区别在于独立性上åQŒå¾®æœåŠ¡å¤§å¤šæ˜¯å¯ä»¥ç‹¬ç«‹çš„˜q行和ä‹É用的åQŒè€Œå˜å‚¨è¿™¿Uéžå¸¸åº•层和基础的系¾lŸï¼Œæ¯å±‚部äšg都ä¸èƒ½å•独被使用åQŒæ¯”如:Pool½Ž¡ç†ã€CHUNK½Ž¡ç†ã€VOL½Ž¡ç†ã€NFSæ–‡äšg¾pÈ»ŸåQŒè¿™äº›åŠŸèƒ½éƒ½æ— æ³•¼›Õd¼€å¦å¤–一些功能而独立è¿è¡Œï¼Œè¦å¯¹å¤–æä¾›å¯ç”¨çš„å˜å‚¨åŠŸèƒ½åQŒä¸€å¤§å †åŠŸèƒ½å¿…é¡»ä¸€èµ·ä¸Šã€‚è¿™¿Uç³»¾lŸåšåˆ°æžè‡ß_¼Œæœ€å¤šä¹Ÿž®Þpƒ½å¤Ÿä‹Éå…‰™ƒ¨ä»¶å¯ä»¥ç‹¬ç«‹çš„部çÖv和凾U§ï¼Œä¿—称打çƒè¡¥ä¸ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">˜q™ä¹Ÿž®±æ˜¯ä¸ÞZ»€ä¹ˆè¿™¿Uåº•å±‚ä¼ ¾lŸç³»¾lŸæž¶æž„通常是å•å—æž¶æž„çš„åŽŸå› ã€‚ç”±äºŽå•å—æž¶æž„çš„å„个部分调用关系紧密åQŒåšæˆå¾®æœåŠ¡åŽç³»¾lŸé›†æˆæˆæœ¬ä¼šå¤§å¤§å¢žåŠ åQŒä¸ä»…如æ¤ï¼Œ˜q™æ ·çš„æž¶æž„åšæˆå¾®æœåŠ¡òq¶ä¸èƒ½æé«˜äº¤ä»˜æ•ˆçŽ‡ï¼Œå› äØ“å„个部分æ ÒŽœ¬ž®±æ— 法独立的˜q行和测试ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;"><span style="font-weight: 600; margin: 0px; border: 0px; padding: 0px;">ä»€ä¹ˆæ ·çš„èÊYä»¶åšæˆå¾®æœåŠ¡åQ?/span></p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">能ä¸èƒ½åšæˆå¾®æœåŠ¡åQŒå–决于四个è¦ç´ åQ?/p><ul style="margin: 0px 0px 15px 10px; padding: 0px; border: 0px; clear: left; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; line-height: 25.2px; background-color: #ffffff;"><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">ž®ï¼šå¾®æœåС体¿U¯å°åQ? pizza团队ã€?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">独:能够独立的部¾|²å’Œ˜q行ã€?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">轻:使用轻釾U§çš„通信机制和架构ã€?/p></li><li style="margin: 0px 0px 0px 15px; padding: 0px; border: 0px; float: none; clear: none;"><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;">æ¾ï¼šä¸ºæœåŠ¡ä¹‹é—´æ˜¯æ¾è€¦åˆçš„ã€?/p></li></ul><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">针对于å°ã€è½»ã€æ¾éƒ½æ˜¯å¯ä»¥é€šè¿‡æŸäº›æŠ€æœ¯æ‰‹ŒDµè¾¾åˆ°ç›®çš„,而独立的部çÖvå’Œè¿è¡Œï¼Œåˆ™æ˜¯å’Œä¸šåŠ¡æœ¬íw«æœ‰å…³ç³»åQŒå¦‚æžœä½ ˜q™ä¸ª¾pÈ»Ÿæä¾›çš„业务是贴近最¾lˆç”¨æˆïLš„åQŒåÆˆä¸”è¿™äº›åŠŸèƒ½ä¹‹é—´çš„è€¦åˆæ€§å¾ˆž®ï¼Œåˆ™å¾®æœåŠ¡ž®±å¯ä»¥æŒ‰ç…§ä¸šåŠ¡åŠŸèƒ½æœ¬íw«çš„独立性æ¥åˆ’分åQŒåˆ™˜q™ç±»¾pÈ»Ÿåšæˆå¾®æœåŠ¡æ˜¯éžå¸¸åˆé€‚的。如果系¾lŸæä¾›çš„业务是éžå¸¸åº•层的åQŒå¦‚åQšæ“作系¾lŸå†…æ ¸ã€å˜å‚¨ç³»¾lŸã€ç½‘¾lœç³»¾lŸã€æ•°æ®åº“¾pÈ»Ÿ½{‰ç‰åQŒè¿™¾cȳ»¾lŸéƒ½å底层,功能和功能之间有ç€ç´§å¯†çš„é…åˆå…³¾p»ï¼Œå¦‚æžœå¼ºåˆ¶æ‹†åˆ†ä¸ø™¾ƒž®çš„æœåŠ¡å•å…ƒåQŒä¼šè®©é›†æˆå·¥ä½œé‡æ€¥å‰§ä¸Šå‡åQŒåƈ且这¿Uähä¸ºçš„åˆ‡å‰²æ— æ³•å¸¦æ¥ä¸šåŠ¡ä¸Šçš„çœŸæ£çš„éš”¼›»ï¼Œæ‰€ä»¥æ— 法åšåˆ°ç‹¬ç«‹éƒ¨¾|²å’Œ˜q行åQŒä¹Ÿž®±æ›´åŠ æ— æ³•åšåˆ°çœŸæ£çš„å¾®æœåŠ¡äº†ã€?/p><hr style="margin: 0px; border: 0px; padding: 0px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; line-height: 25.2px; background-color: #ffffff;" /><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">感谢<a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">éƒè•¾</a>å¯ÒŽœ¬æ–‡çš„å®¡æ ¡ã€?/p><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 25.2px; clear: none; width: 610px; font-family: 'Lantinghei SC', 'Open Sans', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', å¾®èÊY雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, Helvetica, sans-serif; background-color: #ffffff;">¾l™InfoQ䏿–‡ç«™æŠ•½E¿æˆ–者å‚与内容翻译工作,请邮件至<a href="mailto:editors@cn.infoq.com" style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">editors@cn.infoq.com</a>。也‹Æ¢è¿Žå¤§å®¶é€šè¿‡æ–°æµªå¾®åšåQ?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">@InfoQ</a>åQ?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">@䏿™“昀</a>åQ‰ï¼Œå¾®ä¿¡åQˆå¾®ä¿¡å·åQ?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">InfoQChina</a>åQ‰å…³æ³¨æˆ‘们ã€?/p><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/431556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">ž®é©¬æ?/a> 2016-08-13 10:53 <a href="http://www.aygfsteel.com/xiaomage234/archive/2016/08/13/431556.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2015/03/09/423321.html</link><dc:creator>ž®é©¬æ?/dc:creator><author>ž®é©¬æ?/author><pubDate>Mon, 09 Mar 2015 08:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2015/03/09/423321.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/423321.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2015/03/09/423321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/423321.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/423321.html</trackback:ping><description><![CDATA[<div class="wmqeeuq" id="content" mod-cs-content="" text-content="" clearfix"="" style="zoom: 1; width: 760px; overflow: visible; line-height: 1.5; margin: 7px 0px 10px; padding: 20px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff;"><p style="margin: 0px; padding: 0px;">from: <span style="line-height: 1.5;">http://wapapp.baidu.com/tianhuimin/item/6e144c362eced2ff96f88d42</span></p><p style="margin: 0px; padding: 0px;">1 概述1.1 ç ”å‘背景</p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">支撑互蔾|‘应用的å„ç§æœåŠ¡é€šå¸¸éƒ½æ˜¯ç”¨å¤æ‚大规模分布å¼é›†¾Ÿ¤æ¥å®žçŽ°çš„ã€‚è€Œè¿™äº›äº’è”ç½‘åº”ç”¨åˆæž„建在ä¸åŒçš„èÊY件模å—集上,˜q™äº›è½¯äšg模å—åQŒæœ‰å¯èƒ½æ˜¯ç”±ä¸åŒçš„团队开 å‘ã€å¯èƒ½ä‹É用ä¸åŒçš„¾~–程è¯è¨€æ¥å®žçŽ°ã€æœ‰å¯èƒ½å¸ƒåœ¨äº†å‡ åƒå°æœåŠ¡å™¨ï¼Œæ¨ªè·¨å¤šä¸ªä¸åŒçš„æ•°æ®ä¸å¿ƒã€‚å› æ¤ï¼Œž®±éœ€è¦ä¸€äº›å¯ä»¥å¸®åŠ©ç†è§£ç³»¾lŸè¡Œä¸ºã€ç”¨äºŽåˆ†æžæ€§èƒ½é—®é¢˜çš„å·¥ å…—÷€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">hydra分布å¼è·Ÿítªç³»¾lŸå°±ä¸ÞZº†è§£å†³ä»¥ä¸Š˜q™äº›é—®é¢˜è€Œè®¾è®¡çš„ã€?/p>1.2 ç†è®ºä¾æ®<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">Google的论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》是我们设计开å‘çš„æŒ‡å¯¼æ€æƒ³(åŽŸæ–‡å’Œè¯‘æ–‡åœ°å€ https://github.com/bigbully/Dapper-translation)。Google针对自己的分布å¼è·Ÿè¸ª¾pÈ»ŸDapper 在生产环境下˜q行两年多时间积累的¾l验åQŒåœ¨è®ºæ–‡ä¸é‡ç‚ÒŽåˆîCº†åˆ†å¸ƒå¼è·Ÿítªç³»¾lŸå¯¹ä¸šåŠ¡¾pÈ»Ÿçš„零侵入˜q™ä¸ªå…ˆå¤©ä¼˜åŠ¿åQŒåƈæ€È»“了大é‡çš„应用场景åQŒè¿˜æåŠå®ƒçš„ä¸èƒöä¹?nbsp;处。我们通过对这½‹‡è®ºæ–‡çš„æ·±å…¥ç ”ç©¶åQŒåƈå‚考了TwitteråŒæ ·ä¾æ®˜q™ç¯‡è®ºæ–‡çš„scala实现ZipkinåQŒç»“åˆæˆ‘们自íw«çš„现有架构åQŒæˆ‘们认为分布å¼è·Ÿè¸ª ¾pÈ»Ÿåœ¨æˆ‘们内部是éžå¸¸é€‚åˆçš„,而且也是急需的ã€?/p>1.3 功能概述<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">hydraç›®å‰çš„åŠŸèƒ½åÆˆä¸å¤æ‚,他å¯ä»¥æŽ¥å…¥ä¸€äº›åŸº¼‹€¾l„äšgåQŒç„¶åŽå®žçŽ°åœ¨åŸºç¡€¾l„äšg上收集在¾l„å¾ä¸Šäñ”ç”Ÿçš„è¡ŒäØ“çš„æ—¶é—´æ¶ˆè€—ï¼Œòq¶ä¸”æä¾›è·Ÿè¸ªæŸ¥è¯¢™åµé¢åQŒå¯¹è·Ÿè¸ªåˆ°çš„æ•°æ®˜q›è¡ŒæŸ¥è¯¢å’Œå±•½Cºã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">我们会在之åŽçš„功能介¾lä¸å¯¹hydra现有功能˜q›è¡Œè¯´æ˜Žã€?/p>2 领域模型<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">分布å¼è·Ÿítªçš„领域模型其实已ç»å¾ˆæˆç†Ÿï¼Œæ—©åœ¨1997òq´IBMž®±æŠŠARM2.0(Application Response Measurement)ä½œäØ“ä¸€ä¸ªå…¬å¼€çš„æ ‡å‡†æä¾›ç»™äº†Open GroupåQŒæ— 奈当时SOA的架构还未æˆç†Ÿï¼Œå¯¹ä¸šåŠ¡çš„è·Ÿè¸ª˜q˜éœ€è¦ç›´æŽ¥åµŒå…¥åˆ°ä¸šåС代ç ä¸ï¼Œè‡´ä‹É跟踪¾pÈ»Ÿæ— 法™åºåˆ©æŽ¨å¹¿ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">如今互蔾|‘领域大多数åŽå°æœåŠ¡éƒ½å·²¾l完æˆäº†SOA化,所以对业务的跟ítªå¯ä»¥ç›´æŽ¥ç®€åŒ–䨓å¯ÒŽœåŠ¡è°ƒç”¨æ¡†æž¶çš„è·Ÿè¸ªåQŒæ‰€ä»¥è¶Šæ¥è¶Šå¤šçš„跟踪¾pÈ»Ÿä¹Ÿæ¶ŒçŽ°å‡ºæ¥ã€?nbsp;在hydra¾pÈ»Ÿä¸ï¼Œæˆ‘们使用的领域模型å‚考了Googleçš„Dapperå’ŒTwitterçš„Zipkin(http://twitter.github.io/zipkin/)ã€?/p>2.1 hydraä¸çš„è·Ÿè¸ªæ•°æ®æ¨¡åž‹<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">å‚考Dapperå’ŒZipkin的设计,hydra也æç‚¼å‡ºäº†è‡ªå·Þqš„领域模型åQŒå¦‚图所½C?</p><img width="640" height="398" src="http://g.hiphotos.baidu.com/album/pic/item/314e251f95cad1c88959439b7e3e6709c83d51af.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Trace:一‹Æ¡æœåŠ¡è°ƒç”¨è¿½ítªé“¾è·¯ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Span:˜q½è¸ªæœåŠ¡è°ƒåŸºæœ¬ç»“æž„ï¼Œå¤šspanå½¢æˆæ ‘åÅž¾l“æž„¾l„åˆæˆä¸€‹Æ¡Trace˜q½è¸ªè®°å½•ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Annotation:在spanä¸çš„æ ‡æ³¨ç‚¹ï¼Œè®°å½•整个spanæ—‰™—´ŒDµå†…å‘生的事件ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">BinaryAnnotation:属于Annotation一¿U类型和普通Annotation区别åQŒè¿™é”®å€¼å¯¹å½¢å¼æ ‡æ³¨åœ¨spanä¸å‘生的事äšgåQŒå’Œä¸€äº›å…¶ä»–相关的信æ¯ã€?/p></li></ul><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">Annotation在整个跟ítªæ•°æ®æ¨¡åž‹ä¸æœ€ç‰|´»çš„,ç‰|´»˜q用annotationåŸºæœ¬èƒ½è¡¨è¾¾ä½ æ‰€æƒ›_ˆ°çš„è·Ÿítªåœºæ™¯ã€‚在hydraä¸?å‚考了zipkin)定义4¿Uä¸åŒvalueçš„annotation用æ¥è¡¨è¾¾è®°å½•span 4个最基本的事件。通过˜q?个annotation能计½Ž—出链èµ\ä¸ä¸šåŠ¡æ¶ˆè€—å’Œ¾|‘络消耗时间ã€?/p>2.2 dubboæœåŠ¡è°ƒç”¨æ¡†æž¶çš„æ¨¡åž?p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">å…¬å¸å†…部åQŒå°¤å…¶æ˜¯æˆ‘们部门有很多业务系¾lŸä‹É用dubboä½œäØ“æœåŠ¡è°ƒç”¨æ¡†ï¼Œæ‰€ä»¥æˆ‘ä»¬çš„åˆ†å¸ƒå¼è·Ÿítªç³»¾lŸç¬¬ä¸€ä¸ªæŽ¥å…¥ç»„件就是dubboã€?nbsp;å¦ä¸€ä¸ªåŽŸå› ä¹Ÿæ˜¯å› ä¸ºæˆ‘ä»¬å›¢é˜Ÿå¯¹dubbo有ç€éžå¸¸æ·±å…¥çš„ç†è§£ï¼ŒåР之dubbo本èín的架构本íw«ååˆ†é€‚åˆæ‰©å±•åQŒä½œä¸ºæœåŠ¡è°ƒç”¨æ¡†æž¶è€Œè¨€åQŒè·Ÿítªçš„æ•ˆæžœä¼šéžå¸¸æ˜Žæ˜¾ï¼Œ 比如Twitterçš„Zipkin也是æ¤å…¥åˆ°å†…部的FinagleæœåŠ¡è°ƒç”¨æ¡†æž¶ä¸Šæ¥˜q›è¡Œè·Ÿè¸ªçš„ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">ç”׃ºŽçŽ°é˜¶ŒDµhydraä¸»è¦æŽ¥å…¥äº†dubboæœåŠ¡è°ƒç”¨æ¡†æž¶,所以在˜q™å¿…™åÖMº†è§£dubboçš„å‡ ä¸ªæ¨¡åž‹ï¼Œå¦‚ä¸‹å›¾æ‰€½C?</p><img width="640" height="348" src="http://b.hiphotos.baidu.com/album/pic/item/b21bb051f8198618b79550384bed2e738ad4e6b8.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Application:一¾cÖM¸šåŠ¡ç±»åž‹çš„æœåŠ¡åQŒä¸‹é¢å¯èƒ½åŒ…å«å¤šä¸ªæŽ¥å£æœåŠ¡ï¼Œå¯èƒ½å‡ºçŽ°å¤šç§¾cÕdž‹ä¸šåŠ¡è·Ÿè¸ªé“¾èµ\ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">InterfaceService:æŽ¥å£æœåŠ¡åQŒä¸€ä¸ªæœåŠ¡æŽ¥å£æä¾›å¤š¿Uä¸šåŠ¡å¤„ç†æ–¹æ³•ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Method:æŽ¥å£æœåŠ¡ä¸å…·ä½“处ç†ä¸šåŠ¡çš„æ–ÒŽ³•ã€?/p></li></ul>2.3 Hydraä¸è·Ÿítªæ¨¡åž‹å’Œdubbo模型之间关系<img width="800" height="518" src="http://c.hiphotos.baidu.com/album/pic/item/38dbb6fd5266d0165be12194962bd40734fa3595.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">如图所½Cºçš„应用场景对AæœåŠ¡çš„è°ƒç”¨ã€‚AæœåŠ¡åœ¨è¢«è°ƒç”¨çš„è¿‡½E‹ä¸ä¼šç‘ô¾l调用æœåŠ¡Bå’ŒæœåŠ¡C,而æœåŠ¡C被调用之åŽåˆä¼šç‘ô¾l调用æœåŠ¡Då’Œæœ åŠ¡E。在我们的领域模型ä¸åQŒæœåŠ¡A被调用到调用完æˆçš„过½E‹ï¼Œž®±æ˜¯ä¸€‹Æ¡trace。而æ¯ä¸€ä¸ªæœåŠ¡è¢«è°ƒç”¨òq¶è¿”回的˜q‡ç¨‹åQˆä¸€åŽÖM¸€å›žçš„½Žå¤´åQ‰äؓ一个span。å¯ä»?nbsp;看到˜q™ä¸ª½CÞZ¾‹ä¸åŒ…å?个spanåQŒclient-AåQŒA-BåQŒA-CåQŒC-DåQŒC-E。span本èínä»¥æ ‘å½¢ç»“æž„å±•å¼€åQŒA-C是C-Då’ŒC-E的父 spanåQŒè€Œclient-Aæ˜¯æ•´ä¸ªæ ‘å½¢ç»“æž„çš„root span。之åŽè¦æåˆ°çš„一个概念就是annotationåQŒannotation代表在æœåŠ¡è°ƒç”¨è¿‡½E‹ä¸å‘生的一些我们感兴趣的事情,如图所½CºC-Eä¸Šæ ‡å‡?nbsp;æ¥çš„那四个点åQŒå°±æ˜¯å››ä¸ªannotationåQŒæ¥è®°å½•事äšgæ—‰™—´æˆ»I¼Œåˆ†åˆ«æ˜¯CæœåŠ¡çš„csåQˆclient sendåQ‰ï¼ŒEæœåŠ¡çš„ssåQˆserver receiveåQ?EæœåŠ¡çš„ssåQˆserver sendåQ? CæœåŠ¡çš„cråQˆclient receiveåQ‰ã€‚如果有一些自定义的annotation我们会把它作为BinaryAnnotationåQŒå…¶å®žå°±æ˜¯ä¸€ä¸ªk-v对,记录ä»ÖM½•跟踪¾pÈ»Ÿæƒ?nbsp;记录的信æ¯ï¼Œæ¯”如æœåŠ¡è°ƒç”¨ä¸çš„异常信æ¯åQŒé‡è¦çš„业务信毽{‰ç‰ã€?/p>3 功能介ç»<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">当å‰hydra1.0版的功能主è¦åˆ†äؓ两个部分åQŒè·ŸítªæŸ¥è¯¢å’Œè·Ÿè¸ªå±•示ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">如图所½CÞZؓ查询™åµé¢åQ?/p><img width="640" height="311" src="http://h.hiphotos.baidu.com/album/pic/item/d53f8794a4c27d1e95c484781ad5ad6edcc438af.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">在hydra针对业务æå‡ºä¸¤ä¸ªç›¸å…³çš„æ¦‚念:应用和æœåŠ¡ã€‚ä¸åŒçš„业务的所属ä¸åŒçš„应用(相当于dubboä¸çš„Application)åQŒæœåŠ¡ï¼ˆç›¸å½“äºŽdubboä¸çš„interfaceåQ‰æŒ‚在应用之下ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">在hydra的查询界é¢ä¸é¦–å…ˆè¦é€‰æ‹©æƒŒ™¦å…Ïx³¨çš„应用ååQŒç„¶åŽé€šè¿‡è‡ªåŠ¨å®Œæˆçš„æ–¹å¼è¾“入应用下的æœåŠ¡ã€‚é€‰æ‹©æœåŠ¡çš„å¼€å§‹æ—¶é—´å’Œéœ€è¦æŸ¥çœ‹çš„跟踪‹Æ¡æ•°ã€‚å¦å¤–hydra需è¦ç¡®å®šè¿”回数æ®çš„æ€»é‡åQŒé˜²æ¢æŸ¥è¯¢å‡ºå¤§æ•°æ®é‡å¯ÆD‡´™åµé¢å¤±åŽ»å“应ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">å¦å¤–我们æä¾›å¯šw¢å¤–çš„½{›é€‰æ¡ä»Óž¼šè°ƒç”¨å“应旉™—´ã€æ˜¯å¦å‘生异常。调用å“应时间指的是˜q™ä¸€‹Æ¡æœåŠ¡è°ƒç”¨ä»Žè°ƒç”¨å¼€å§‹åˆ°è°ƒç”¨¾l“æŸçš„æ—¶é—ß_¼Œæ˜¯å¦å‘生异常则包括一‹Æ¡æœåŠ¡è°ƒç”¨ä¸æ‰€æœ‰åކ¾lçš„æœåŠ¡æŠ›å‡ºçš„å¼‚å¸”Rƒ½ä¼šæ•获到ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">对于查询之åŽçš„æ•°æ®ï¼Œhydraæä¾›åœ¨å‰å°è¿›è¡ŒæŽ’åºçš„功能ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">对于æ¯ä¸€‹Æ¡è·Ÿítªï¼Œæˆ‘们å¯ä»¥˜q›ä¸€æ¥å±•½CÞZ»–çš„æœåŠ¡è°ƒç”¨å±‚¾U§ä¸Žå“应旉™—´çš„æ—¶åºå›¾ã€‚如下图所½Cºï¼š</p><img width="800" height="347" src="http://g.hiphotos.baidu.com/album/pic/item/738b4710b912c8fcfd114971fd039245d78821af.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">我们å‚考Dapperä¸è®º˜q°çš„场景åQŒåœ¨æ—¶åºå›¾ä¸ç”¨ç»¿è‰²ä»£è¡¨æœåŠ¡è°ƒç”¨æ—¶é—ß_¼Œ‹¹…è“色代表网¾lœè€—æ—¶åQŒå¦å¤–如果æœåŠ¡è°ƒç”¨æŠ›å‡ºå¼‚å¸¸è¢« hydraæ•æ‰åˆ°çš„è¯ï¼Œä¼šç”¨¾U¢è‰²è¡¨ç¤ºã€‚é¼ æ ‡ç§»åŠ¨åˆ°æ—¶åºå›¾ä¸çš„æ¯ä¸€ä¸ªå¯¹è±¡ä¸ŠåQŒä¼šTip展现详细信æ¯åQŒåŒ…括æœåŠ¡åã€æ–¹æ³•åã€è°ƒç”¨æ—¶é•Ñ€Endpointã€å¼‚å¸?nbsp;信毽{‰ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">å·¦ä¾§çš„æ ‘å½¢ç»“æž„å›¾å¯ä»¥æ”¶è“v和展开åQŒåŒæ—¶å³ä¾§çš„æ—¶åºå›¾äñ”生è”动,利于调整å…Ïx³¨ç‚¹åœ¨ä¸åŒçš„æœåŠ¡ä¸Šã€?/p>4 整体架构4.1 完整ç‰?img width="640" height="445" src="http://g.hiphotos.baidu.com/album/pic/item/ac6eddc451da81cb77043c715366d016082431af.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">对于分布å¼è·Ÿítªç³»¾lŸè€Œè¨€åQŒå¿…™åÕd¯¹æŽ¥å…¥çš„基¼‹€¾l„äšg˜q›è¡Œæ”šw€ ,我们对dubboçš„æ”¹é€ å¾ˆ½Ž€å•ï¼Œåªæ˜¯åœ¨è¿‡æ»¤å™¨é“¾ä¸Šå¢žåŠ ä¸€ä¸ªè¿‡æ»¤å™¨åQŒæˆ‘们将其å°è£…æˆä¸€ä¸ªhydra-dubboçš„jar包,由dubbo直接ä¾èµ–ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">所有跟ítªæ‰€éœ€çš„通用性的API我们ž®è£…在hydra-clientä¸ï¼Œé于接入å„ç§¾l„äšgã€?nbsp;hydra-manager用æ¥å®Œæˆæ¯ä¸ªæœåŠ¡çš„æ³¨å†Œã€é‡‡æ ïLŽ‡çš„è°ƒæˆã€å‘é€seed生æˆå…¨å±€å”¯ä¸€çš„traceId½{‰é€šç”¨æ€§çš„功能。所有hydra-manager数殾lŸä¸€ç”¨mysql˜q›è¡Œå˜å‚¨ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">我们使用hydra-collectorå’Œhydra-collector-service˜q›è¡Œè·Ÿè¸ªæ•°æ®çš„异æ¥å˜å‚¨ï¼Œä¸é—´ä½¿ç”¨metaQ˜q›è¡Œ¾~“冲ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">hydra-managerå’Œhydra-collector使用dobboæä¾›æœåŠ¡ã€?/p>4.2 ¾_„¡®€ç‰?p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">考虑到数æ®é‡ä¸å¤§çš„æƒ…况,以åŠéƒ¨çÖvçš„å¤æ‚度。我们æä¾›äº†ä¸¤ç§æ›´ç®€ä¾¿çš„æž¶æž„</p><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">如果考虑到数æ®é‡æ²¡æœ‰é‚£ä¹ˆå¤§ï¼Œå¯ä»¥ä¸ä‹É用hbaseåQŒç”¨mysql代替åQŒå³¾_„¡®€ç‰?ã€‚å› ä¸ºæ¯•ç«Ÿhadoop集群和hbase集群的部¾|²å’Œ¾l´æŠ¤å·¥ä½œé‡å¾ˆå¤§ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">如果òq¶å‘é‡ä¹Ÿä¸æ˜¯å¾ˆå¤§çš„è¯åQŒå¯ä»¥ä¸ä½¿ç”¨æ¶ˆæ¯ä¸é—´ä»Óž¼Œä¹Ÿå°±æ˜¯ç²¾½Ž€ç‰?åQŒå¦‚图所½Cºã€‚在hydra-collector端直接进行数æ®è½åœŽÍ¼Œå½“ç„¶ä»ç„¶æ˜¯å¼‚æ¥çš„ã€?/p></li></ul><img width="596" height="464" src="http://c.hiphotos.baidu.com/album/pic/item/c2cec3fdfc03924594575eb38694a4c27c1e25af.jpg" alt="Hydra - 京东开æºçš„åŸÞZºŽDubbo的调用分布跟ítªç³»¾l? style="border: 0px; margin-bottom: 8px; clear: both; max-width: 758px; vertical-align: top;" /><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">在ä‹É用mysql˜q›è¡Œå˜å‚¨çš„æ—¶å€™æˆ‘ä»¬åÆˆæœªè¿›è¡Œåˆ†åº“åˆ†è¡¨ï¼Œå› äØ“è€ƒè™‘åˆ°å˜å‚¨çš„æ˜¯ç›‘控数æ®ï¼Œæ—¶æ•ˆæ€§è¾ƒé«˜ï¼Œè€Œé•¿æœŸçš„监控数æ®çš„ä¿ç•™æ„ä¹‰åÆˆä¸å¤§ã€‚æ‰€ä»¥æˆ‘ä»¬åœ¨ä¸»è¡¨ä¸Šæœ‰æ˜Žç¡®çš„æ—¶é—´æˆ³å—æ®µåQŒä‹É用者å¯ä»¥è‡ªè¡Œå†³å®šä½•时对ä¿å˜çš„åŽ†å²æ•°æ®è¿›è¡Œè¿¿U…R€?/p>5 Quick Start5.1 部çÖv½Ž€ä»?p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">Hydra分布å¼è·Ÿítªç³»¾lŸå¯ä»¥è·ŸítªçŽ¯å¢ƒçš„æ•°æ®é‡å¤§ž®é€‰æ‹©ä¸Šæ–‡æ‰€˜q°çš„三ç§éƒ¨çÖvæ–¹å¼</p><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">é«˜åÆˆå‘,大数æ®é‡åQšhydra-client | Queue | hbase</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">é«˜åÆˆå‘,ž®æ•°æ®é‡åQšhydra-client | Queue | mysql</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">ä½ŽåÆˆå‘,ž®æ•°æ®é‡åQšhydra-client | mysql</p></li></ul><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">å› äØ“æ˜¯quick startåQŒè¿™é‡Œåªä»‹ç»ä½Žåƈå‘å’Œž®æ•°æ®é‡çš„æƒ…å†üc€‚丘q‡è¿™é‡Œä¼šè¯¦ç»†ä»‹ç»å¦‚何通过é…置文äšg的修æ”ÒŽ¥åˆ‡æ¢˜q™ä¸‰¿U部¾|²æ–¹å¼ã€?/p>5.2 ¼‹¬äšgè¦æ±‚<ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">1或多åîC¸šåŠ¡ç³»¾lŸé›†¾Ÿ¤æœº</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">1套zookeeperå•点或集¾Ÿ¤æœº</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">1å°æœºå™¨éƒ¨¾|²Hydra-manager</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">1æˆ–å¤šå°æœºå™¨éƒ¨¾|²Hydra-Collector</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">1å°æœºå™¨éƒ¨¾|²Hydra-web</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">1å°æ•°æ®åº“æœåŠ¡å™?/p></li></ul>5.3 软äšgè¦æ±‚<ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Dubbo:Hydra是基于alibabaçš„dubbo框架基准上åšçš„æœåŠ¡è·Ÿítªç³»¾lŸï¼Œç†è®ºä¸ŠåŽŸæœ‰çš„Dubbo框架æœåŠ¡¾Ÿ¤ä¸æ‰€æœ‰åº”用ä¸éœ€è¦é¢å¤–çš„é…ç½®åQŒçš†å¯ä»¥òqÏx»‘的接入Hydra¾pÈ»Ÿã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Zookeeper:å„个æœåŠ¡ç‚¹ä¾èµ–于zookeeperæ¥è¯»å–Hydra-managerå’ŒHydra-collectorèŽ·å–æ•°æ®äº¤äº’路由点,æ¥å®Œæˆè·Ÿítªæ•°æ®çš„æŽ¨é€å’Œè·Ÿè¸ªçš„æŽ§åˆ¶ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Mysql:跟踪数æ®çš„æŒä¹…åŒ–å˜å‚¨ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">Tomcat:å‰ç«¯web应用容器</p></li></ul>5.4 æºç 获å–<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">å¯ä»¥æš‚时使用masteråQŒå޾lç‰ˆæœ¬ä¼šå½’åÆˆåˆ°dubbo½Ž¡ç†ç«?/p>5.5 ™å¹ç›®æž„徿‰“包<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">maven™å¹ç›®ä¸ç”¨å¤šè¯´ã€‚mvn clean install。丘q‡ä¸å¾—ä¸è¯´çš„æ˜¯ï¼Œhydra™å¹ç›®ä¸åŒ…å«ä¸€äº›æ¶‰åŠæ•°æ®åº“è¯Õd†™çš„å•元测è¯?mysqlåQŒhbaseåQ‰ï¼Œé…置文äšg分别åœ?</p><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">modules/hydra-manager-db/src/test/resources/mysql.properties</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">modules/hydra-store/hydra-mysql/src/test/resources/mysql.properties</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">modules/hydra-store/hydra-hbase/src/test/resources/hbase-site.xml</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">modules/hydra-store/hydra-hbase/src/test/resources/hydra-hbase-test.xml</p></li></ul><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">mysql需è¦åˆ›å»ºæµ‹è¯•用数æ®åº“å’Œ‹¹‹è¯•用表åQŒhbase需è¦åˆ›å»ºæµ‹è¯•用è¡?/p><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">docs/table-hbase/initTable<br />(hbase廸™¡¨æ—¶å¯ä»¥æ ¹æ®hbase集群的具体情况调整域分区åQŒæ¶‰åŠåˆ°table-mysqlä¸å¯¹TB_PARA_SERVICE_ID_GENåˆå§‹åŒ–æ•°æ®çš„设计)</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">docs/table-mysql</p></li></ul><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">当然对于ä¸éœ€è¦ä‹É用hbaseçš„åŒå¦ä¹Ÿå¯ä»¥è‡ªè¡Œ¿U»é™¤modules/hydar-store/hydra-hbaseã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">当然用mavenæž„å¾è·Œ™¿‡‹¹‹è¯•也是å¯ä»¥çš„。ä‹É用mvn clean install -Dmaven.test.skip=true</p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">éœ€è¦æ‰“包的å项目会通过maven:assembllyæ’äšg打æˆtar.gz包在å„自的target目录下ã€?/p>5.6 安装部çÖv5.6.1 Hydra-client<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">hydra-clientä¸åŒ…å«hydra与dubbo的集æˆï¼Œä»¥åŠhydra跟踪攉™›†çš„相兛_ŠŸèƒ½ã€‚å¦‚æžœéœ€è¦è¿›è¡ŒdubboæœåŠ¡çš„è·Ÿítªï¼Œåªéœ€è¦æŠŠ˜q™ä¸ªjar包放在dubboæœåŠ¡çš„classpath下,ž®×ƒ¼š<span style="color: aqua;">自动开å¯è·ŸítªåŠŸèƒ½ï¼</span></p>5.6.2 Hydra-manager<ol style="margin: 5px 2px 5px 50px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖvåQšscp -r target/*.tar.gz username@ip:dirname</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">é…ç½®åQšcd basedir/conf åQˆéœ€è¦ä¿®æ”šw…¾|®ï¼‰</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">å¯åЍåQšcd basedir/bin<br />sh manager.sh start</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">åœæ¢åQšcd basedir/bin<br />sh manager.sh stop</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">输入åQšcd basedir/log<br />tail -f manager.log</p></li></ol>5.6.3 Hydra-collector<ol style="margin: 5px 2px 5px 50px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖvåQšscp -r target/*.tar.gz username@ip:dirname</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">é…ç½®åQšcd basedir/conf åQˆéœ€è¦ä¿®æ”šw…¾|®ï¼‰</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">å¯åЍåQšcd basedir/bin<br />sh collector-mysql.sh start <br />(˜q™é‡Œæ³¨æ„一下,如果在hydra-collectorä¸éœ€è¦å‘é€åˆ°Queueä¸ï¼Œåˆ™éœ€è¦å¯åЍcollector.sh,jaråŒ…ä¼šåŠ è²ä¸åŒçš„é…¾|®æ–‡ä»¶ã€?</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">åœæ¢åQšcd basedir/bin<br />sh collector-mysql.sh stop</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">输入åQšcd basedir/log<br />tail -f *.log</p></li></ol>5.6.4 Hydra-web<ol style="margin: 5px 2px 5px 50px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">需è¦åœ¨web.xmlä¸ä¿®æ”¹å¼•入的é…置文äšg为hydra-mysql.xmlåQŒæ³¨æŽ‰hydra-hbase.xml</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖvåQšscp -r target/*.war username@ip:$TOMCAT_WEBAPPS</p></li></ol>6 模拟场景6.1 场景æè¿°<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">æˆ‘ä»¬æ¨¡æ‹Ÿäº†ä¸¤ä¸ªæµ‹è¯•åœºæ™¯ï¼Œå‡æ˜¯åŸÞZºŽdubboæœåŠ¡è°ƒç”¨</p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">场景exp1:</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; font-size: 12px; font-family: tahoma, helvetica, arial;">A --> B --> C </pre><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">åÏxœåŠ¡A调用æœåŠ¡B,æœåŠ¡B调用æœåŠ¡C。测试用例在modules/hydra-example/hydra-exmple-exp1/。熟悉dubboçš„åŒå¦ä¸€å®šä¸ä¼šé™Œç”Ÿã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">场景exp2:</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; font-size: 12px; font-family: tahoma, helvetica, arial;">A --> B --> C1 --> E --> C2 --> D1 --> C1 --> E --> D2 </pre><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">场景2å¾ˆå¤æ‚,基本æ¶ëŠ›–äº†å¯¹åŒæ¥è°ƒç”¨è·Ÿè¸ªçš„大多数å¯èƒ½é‡åˆ°çš„场景。测试用例在modules/hydra-example/hydra-exmple-exp2/ã€?/p>6.2 模拟场景dubboæœåŠ¡çš„éƒ¨¾|?p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">Hydra默认使用了hydra-exmpleä¸çš„两个应用场景æ¥åšåQŒä½ å¯ä»¥åœ¨hydra-test/hydra-test-integration打包ä¸èŽ·å¾—åº”ç”¨åœºæ™¯ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">获得tar.gz包或者zip包åŽåQŒå°†æœåŠ¡åˆ†å¸ƒå¼éƒ¨¾|²åˆ°ä¸åŒçš„æœºå™¨ä¸ŠåQŒä»¥æ¨¡æ‹Ÿåº”用场景,一下介¾l场景一的部¾|²æ–¹æ³•,场景二的部çÖvæ–ÒŽ³•¾cÖM¼¼ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">hydra-test-intergration åˆ†äØ“windows版和linuxç‰?默认)åQŒè§å¦‚下打包æ–ÒŽ³•ã€?/p><ul style="margin: 0px 2px 0px 45px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">打包åQšlinux: mvn package -Pruntime-env-linux<br />window: mvn package -Pruntime-env-windows</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖv: scp -r target/*.tar.gz username@ip:dirname</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">é…ç½®: cd basedir/conf<br />修改 *exp1.properties</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">å¯åЍåQ?nbsp;cd basedir/bin<br />cd exp1<br />sh startA.sh<br />cd ..<br />sh startTrigger-exp1.sh start</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">åœæ¢: cd basedir/bin<br />sh startTrigger-exp1.sh stop<br />All.sh stop</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">输出: cd basedir/log<br />tail -f *.log</p></li></ul>6.3 部çÖv举例<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">ä»¥ä¸‹æ¼”ç¤ºå®‰è£…æ ·ä¾‹åQ?/p><ol style="margin: 5px 2px 5px 50px; padding: 0px; list-style: none; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖvzookeeperå•点或集¾Ÿ¤çŽ¯å¢ƒï¼Œä»¥ä¿è¯èŽ·å¾—æœ€ä½³SOAåQŒzookeeper的部¾|²è¯·å‚照官方文档ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖv实验场景exp1åQŒåªéœ€è¦éƒ¨¾|²hydra-test-integrationæ¨¡å—æ‰“包的tar.gz包,拯‚´ä¸‰ä†¾åˆ†å¸ƒå¼éƒ¨¾|ŒÓ€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖv一个触å‘器TriggeråQŒä»¥‹È€‹zÀLœåŠ¡çš„è°ƒç”¨ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖv一个ManageråQŒä»¥½Ž¡ç†å„个跟踪点的跟踪上下文ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖv一个或者多个Collector消费机集¾Ÿ¤ï¼Œä»¥æœé›†æ¥è‡ªHydra-client推é€è¿‡æ¥çš„跟踪数æ®ã€?/p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px; padding: 0px;">部çÖv一个web应用åQŒå·²æä¾›¾l™å‰ç«¯å±•现应用系¾lŸæœåŠ¡ä¸Šä¸‹æ–‡ã€?/p></li></ol><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">exp1场景说明åQ?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">有三个æœåŠ¡åº”ç”¨Aã€Bã€C和一个触å‘RPC调用的应用TriggeråQŒæœåŠ¡è°ƒç”¨å…³¾pÖMØ“A-B-CåQ?nbsp;æ¯éš”500s触å‘一个调用,æŒç®‹æ—‰™—´ä¸?天ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">部çÖv地å€ä¸¾ä¾‹åQ?/p>角色ipportZK192.168.200.110-1122181~A192.168.200.11020990B192.168.200.11120991C192.168.200.11220992Trigger192.168.200.113-Manager192.168.228.8120890Collector192.168.228.81-8220889Web192.168.228.818080MySql-DB192.168.228.8133067 ‹¹‹è¯•相关7.1 ‹¹‹è¯•说明<p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">本测试针对Hydra-Client模嗘q›è¡ŒåŠŸèƒ½‹¹‹è¯•和压力测试,以便在Hydraå¼€å‘çš„˜q‡ç¨‹ä¸åŠæ—¶å‘现é‡è¦bug和帮助优化Hydra¾pÈ»Ÿæ€§èƒ½ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">本测试目å‰åªé’ˆå¯¹Hydra-client的测试,é‡ç‚¹å…Ïx³¨ä¸šåŠ¡¾pÈ»ŸæŽ¥å…¥Hydraå’Œä¸æŽ¥å…¥Hydraå‰åŽæ€§èƒ½å½±å“åQŒä»¥ä¿è¯Hydra¾pÈ»ŸæŽ¥å…¥ç«¯çš„低äçR入性和½E›_®šæ€§ã€?/p><p style="margin: 10px 0px; padding: 0px; font-family: arial, sans-serif, verdana, helvetica; color: #404040; line-height: 25px; background-color: #fafafa;">针对Hydra-Client的测试,在部¾|²ä¸ŠåQŒåªç”¨éƒ¨¾|²åº”用场景(带Hydra_clientåQ‰å’ŒBenchmark触å‘点,然åŽåœ¨åº”用Benchmark和应用场景上埋点分æžHydra性能ã€?br /></p><p style="margin: 0px; padding: 0px;"><br /></p><p style="margin: 0px; padding: 0px;">èµ„æ–™æ¥æºåQ?a target="_blank" style="color: #4bc1c1;">http://www.open-open.com/lib/view/open1370253915148.html</a></p><div></div></div><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/423321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">ž®é©¬æ?/a> 2015-03-09 16:06 <a href="http://www.aygfsteel.com/xiaomage234/archive/2015/03/09/423321.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>EDA å’?SOA çš„èžåˆä»¥åŠå®žè·?在金èžè¡Œä¸šçš„应用http://www.aygfsteel.com/xiaomage234/archive/2014/12/30/421947.htmlž®é©¬æ?/dc:creator>ž®é©¬æ?/author>Tue, 30 Dec 2014 02:41:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2014/12/30/421947.htmlhttp://www.aygfsteel.com/xiaomage234/comments/421947.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2014/12/30/421947.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/421947.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/421947.html阅读全文

]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
½¿ÚÏØ|
»¢ÁÖÊÐ|
å´²ýÏØ|
Çíº£ÊÐ|
²©ÂÞÏØ|
Êæ³ÇÏØ|
´Ó½ÏØ|
½éÐÝÊÐ|
µÂ¸ñÏØ|
±£Í¤|
äÀ´¨ÏØ|
¶«Ïç×å×ÔÖÎÏØ|
³±ÖÝÊÐ|
Ë³Æ½ÏØ|
º£³ÇÊÐ|
ÎèÑôÏØ|
ÐûÍþÊÐ|
ºÏ½ÏØ|
Í¨É½ÏØ|
Õò°²ÏØ|
ÎͰ²ÏØ|
èϳÇÏØ|
Þ´ºÏØ|
¼Î¶¨Çø|
°ÍÑåÏØ|
¶ÁÊé|
½´ïÏØ|
ÐÂÌïÏØ|
×ÊÖÐÏØ|
°ö²ºÊÐ|
¾°ºéÊÐ|
ÄϾ©ÊÐ|
ºº¹ÁÇø|
·ð¸ÔÏØ|
Ñô¸ßÏØ|
´ó¹ØÏØ|
ËçµÂÏØ|
·ÚÎ÷ÏØ|
·½ÕýÏØ|
ÕÁÊ÷ÊÐ|
¼ªÂ¡ÏØ|