Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
һƪÎÄÕ£¬¶Á¶®NettyµÄ¸ßÐÔÄܼܹ¹Ö®µÀ
 
  4590  次浏览      27
 2016-10-18 
 

NettyÊÇÒ»¸ö¸ßÐÔÄÜ¡¢Ò첽ʼþÇý¶¯µÄNIO¿ò¼Ü£¬ËüÌṩÁ˶ÔTCP¡¢UDPºÍÎļþ´«ÊäµÄÖ§³Ö£¬×÷Ϊһ¸öÒì²½NIO¿ò¼Ü£¬NettyµÄËùÓÐIO²Ù×÷¶¼ÊÇÒì²½·Ç×èÈûµÄ£¬Í¨¹ýFuture-Listener»úÖÆ£¬Óû§¿ÉÒÔ·½±ãµÄÖ÷¶¯»ñÈ¡»òÕßͨ¹ý֪ͨ»úÖÆ»ñµÃIO²Ù×÷½á¹û¡£

×÷Ϊµ±Ç°×îÁ÷ÐеÄNIO¿ò¼Ü£¬NettyÔÚ»¥ÁªÍøÁìÓò¡¢´óÊý¾Ý·Ö²¼Ê½¼ÆËãÁìÓò¡¢ÓÎÏ·ÐÐÒµ¡¢Í¨ÐÅÐÐÒµµÈ»ñµÃÁ˹㷺µÄÓ¦Óã¬Ò»Ð©Òµ½çÖøÃûµÄ¿ªÔ´×é¼þÒ²»ùÓÚNettyµÄNIO¿ò¼Ü¹¹½¨¡£

ΪʲôѡÔñNetty

NettyÊÇÒµ½ç×îÁ÷ÐеÄNIO¿ò¼ÜÖ®Ò»£¬ËüµÄ½¡×³ÐÔ¡¢¹¦ÄÜ¡¢ÐÔÄÜ¡¢¿É¶¨ÖÆÐԺͿÉÀ©Õ¹ÐÔÔÚͬÀà¿ò¼ÜÖж¼ÊÇÊ×ÇüÒ»Ö¸µÄ£¬ËüÒѾ­µÃµ½³É°ÙÉÏǧµÄÉÌÓÃÏîÄ¿ÑéÖ¤£¬ÀýÈçHadoopµÄRPC¿ò¼ÜavroʹÓÃNetty×÷Ϊµ×²ãͨÐÅ¿ò¼Ü£»ºÜ¶àÆäËûÒµ½çÖ÷Á÷µÄRPC¿ò¼Ü£¬Ò²Ê¹ÓÃNettyÀ´¹¹½¨¸ßÐÔÄܵÄÒ첽ͨÐÅÄÜÁ¦¡£

ͨ¹ý¶ÔNettyµÄ·ÖÎö£¬ÎÒÃǽ«ËüµÄÓŵã×ܽáÈçÏÂ:

1.APIʹÓüòµ¥£¬¿ª·¢Ãż÷µÍ£»

2.¹¦ÄÜÇ¿´ó£¬Ô¤ÖÃÁ˶àÖÖ±à½âÂ빦ÄÜ£¬Ö§³Ö¶àÖÖÖ÷Á÷ЭÒ飻

3.¶¨ÖÆÄÜÁ¦Ç¿£¬¿ÉÒÔͨ¹ýChannelHandler¶ÔͨÐÅ¿ò¼Ü½øÐÐÁé»îµØÀ©Õ¹£»

4.ÐÔÄܸߣ¬Í¨¹ýÓëÆäËûÒµ½çÖ÷Á÷µÄNIO¿ò¼Ü¶Ô±È£¬NettyµÄ×ÛºÏÐÔÄÜ×îÓÅ£»

5.³ÉÊì¡¢Îȶ¨£¬NettyÐÞ¸´ÁËÒѾ­·¢ÏÖµÄËùÓÐJDK NIO BUG£¬ÒµÎñ¿ª·¢ÈËÔ±²»ÐèÒªÔÙΪNIOµÄBUG¶ø·³ÄÕ£»

6.ÉçÇø»îÔ¾£¬°æ±¾µü´úÖÜÆÚ¶Ì£¬·¢ÏÖµÄBUG¿ÉÒÔ±»¼°Ê±ÐÞ¸´£¬Í¬Ê±£¬¸ü¶àµÄй¦ÄÜ»á¼ÓÈ룻

¾­ÀúÁË´ó¹æÄ£µÄÉÌÒµÓ¦Óÿ¼Ñ飬ÖÊÁ¿µÃµ½ÑéÖ¤¡£ÔÚ»¥ÁªÍø¡¢´óÊý¾Ý¡¢ÍøÂçÓÎÏ·¡¢ÆóÒµÓ¦ÓᢵçÐÅÈí¼þµÈÖÚ¶àÐÐÒµµÃµ½³É¹¦ÉÌÓã¬Ö¤Ã÷ÁËËüÒѾ­ÍêÈ«Äܹ»Âú×㲻ͬÐÐÒµµÄÉÌÒµÓ¦ÓÃÁË¡£

Netty¼Ü¹¹·ÖÎö

Netty ²ÉÓÃÁ˱ȽϵäÐ͵ÄÈý²ãÍøÂç¼Ü¹¹½øÐÐÉè¼Æ£¬Âß¼­¼Ü¹¹Í¼ÈçÏÂËùʾ£º

µÚÒ»²ã£ºReactor ͨÐŵ÷¶È²ã£¬ËüÓÉһϵÁи¨ÖúÀàÍê³É£¬°üÀ¨ Reactor Ïß³Ì NioEventLoop ÒÔ¼°Æä¸¸Àà¡¢NioSocketChannel/NioServerSocketChannel ÒÔ¼°Æä¸¸ Àà¡¢ByteBuffer ÒÔ¼°ÓÉÆäÑÜÉú³öÀ´µÄ¸÷ÖÖ Buffer¡¢Unsafe ÒÔ¼°ÆäÑÜÉú³öµÄ¸÷ÖÖÄÚ ²¿ÀàµÈ¡£¸Ã²ãµÄÖ÷ÒªÖ°Ôð¾ÍÊǼàÌýÍøÂçµÄ¶ÁдºÍÁ¬½Ó²Ù×÷£¬¸ºÔð½«ÍøÂç²ãµÄÊý¾Ý ¶ÁÈ¡µ½Äڴ滺³åÇøÖУ¬È»ºó´¥·¢¸÷ÖÖÍøÂçʼþ£¬ÀýÈçÁ¬½Ó´´½¨¡¢Á¬½Ó¼¤»î¡¢¶ÁÊ ¼þ¡¢Ð´Ê¼þµÈµÈ£¬½«ÕâЩʼþ´¥·¢µ½ PipeLine ÖУ¬ÓÉ PipeLine ³äµ±µÄÖ°ÔðÁ´À´ ½øÐкóÐøµÄ´¦Àí¡£

µÚ¶þ²ã£ºÖ°ÔðÁ´ PipeLine£¬Ëü¸ºÔðʼþÔÚÖ°ÔðÁ´ÖеÄÓÐÐò´«²¥£¬Í¬Ê±¸ºÔð¶¯Ì¬µÄ ±àÅÅÖ°ÔðÁ´£¬Ö°ÔðÁ´¿ÉÒÔÑ¡Ôñ¼àÌýºÍ´¦Àí×Ô¼º¹ØÐĵÄʼþ£¬Ëü¿ÉÒÔÀ¹½Ø´¦ÀíºÍÏò ºó/Ïòǰ´«²¥Ê¼þ£¬²»Í¬µÄÓ¦ÓÃµÄ Handler ½ÚµãµÄ¹¦ÄÜÒ²²»Í¬£¬Í¨³£Çé¿öÏ£¬ÍùÍù »á¿ª·¢±à½âÂë Hanlder ÓÃÓÚÏûÏ¢µÄ±à½âÂ룬Ëü¿ÉÒÔ½«ÍⲿµÄЭÒéÏûϢת»»³ÉÄÚ²¿ µÄ POJO ¶ÔÏó£¬ÕâÑùÉϲãÒµÎñ²àÖ»ÐèÒª¹ØÐÄ´¦ÀíÒµÎñÂß¼­¼´¿É£¬²»ÐèÒª¸ÐÖªµ×²ã µÄЭÒé²îÒìºÍÏß³ÌÄ£ÐͲîÒ죬ʵÏÖÁ˼ܹ¹²ãÃæµÄ·Ö²ã¸ôÀë¡£

µÚÈý²ã£ºÒµÎñÂß¼­´¦Àí²ã£¬¿ÉÒÔ·ÖΪÁ½Àࣺ

1.´¿´âµÄÒµÎñÂß¼­ ´¦Àí£¬ÀýÈç¶©µ¥´¦Àí¡£

2.Ó¦ÓòãЭÒé¹ÜÀí£¬ÀýÈçHTTPЭÒé¡¢FTPЭÒéµÈ¡£

½ÓÏÂÀ´£¬ÎÒ´ÓÓ°ÏìͨÐÅÐÔÄܵÄÈý¸ö·½Ã棨I/OÄ£ÐÍ¡¢Ï̵߳÷¶ÈÄ£ÐÍ¡¢ÐòÁл¯·½Ê½£©À´Ì¸Ì¸NettyµÄ¼Ü¹¹¡£

I/OÄ£ÐÍ

´«Í³Í¬²½×èÈûI/OģʽÈçÏÂͼËùʾ£º

ËüµÄ±×¶ËÓкࣺܶ

1.ÐÔÄÜÎÊÌ⣺һÁ¬½ÓÒ»Ïß³ÌÄ£Ð͵¼Ö·þÎñ¶ËµÄ²¢·¢½ÓÈëÊýºÍϵͳÍÌÍÂÁ¿Êܵ½¼«´óÏÞÖÆ£»

2.¿É¿¿ÐÔÎÊÌ⣺ÓÉÓÚI/O²Ù×÷²ÉÓÃͬ²½×èÈûģʽ£¬µ±ÍøÂçÓµÈû»òÕßͨÐŶԶ˴¦Àí»ºÂý»áµ¼ÖÂI/OÏ̱߳»¹Òס£¬×èÈûʱ¼äÎÞ·¨Ô¤²â£»

3.¿Éά»¤ÐÔÎÊÌ⣺I/OÏß³ÌÊýÎÞ·¨ÓÐЧ¿ØÖÆ¡¢×ÊÔ´ÎÞ·¨ÓÐЧ¹²Ïí£¨¶àÏ̲߳¢·¢ÎÊÌ⣩£¬ÏµÍ³¿Éά»¤ÐԲ

¼¸ÖÖI/OÄ£Ð͵ŦÄܺÍÌØÐԶԱȣº

NettyµÄI/OÄ£ÐÍ»ùÓÚ·Ç×èÈûI/OʵÏÖ£¬µ×²ãÒÀÀµµÄÊÇJDK NIO¿ò¼ÜµÄSelector¡£

SelectorÌṩѡÔñÒѾ­¾ÍÐ÷µÄÈÎÎñµÄÄÜÁ¦¡£¼òµ¥À´½²£¬Selector»á²»¶ÏµØÂÖѯע²áÔÚÆäÉϵÄChannel£¬Èç¹ûij¸öChannelÉÏÃæÓÐеÄTCPÁ¬½Ó½ÓÈë¡¢¶ÁºÍдʼþ£¬Õâ¸öChannel¾Í´¦ÓÚ¾ÍÐ÷״̬£¬»á±»SelectorÂÖѯ³öÀ´£¬È»ºóͨ¹ýSelectionKey¿ÉÒÔ»ñÈ¡¾ÍÐ÷ChannelµÄ¼¯ºÏ£¬½øÐкóÐøµÄI/O²Ù×÷¡£

Ò»¸ö¶à·¸´ÓÃÆ÷Selector¿ÉÒÔͬʱÂÖѯ¶à¸öChannel£¬ÓÉÓÚJDK1.5_update10°æ±¾£¨+£©Ê¹ÓÃÁËepoll()´úÌæ´«Í³µÄselectʵÏÖ£¬ËùÒÔËü²¢Ã»ÓÐ×î´óÁ¬½Ó¾ä±ú1024/2048µÄÏÞÖÆ¡£ÕâÒ²¾ÍÒâζ×ÅÖ»ÐèÒªÒ»¸öÏ̸߳ºÔðSelectorµÄÂÖѯ£¬¾Í¿ÉÒÔ½ÓÈë³ÉǧÉÏÍòµÄ¿Í»§¶Ë£¬ÕâȷʵÊǸö·Ç³£¾Þ´óµÄ¼¼Êõ½ø²½¡£

ʹÓ÷Ç×èÈûI/OÄ£ÐÍÖ®ºó£¬Netty½â¾öÁË´«Í³Í¬²½×èÈûI/O´øÀ´µÄÐÔÄÜ¡¢ÍÌÍÂÁ¿ºÍ¿É¿¿ÐÔÎÊÌâ¡£

Ï̵߳÷¶ÈÄ£ÐÍ

³£ÓõÄReactorÏß³ÌÄ£ÐÍÓÐÈýÖÖ£¬·Ö±ðÈçÏ£º

1.Reactorµ¥Ïß³ÌÄ£ÐÍ£ºReactorµ¥Ïß³ÌÄ£ÐÍ£¬Ö¸µÄÊÇËùÓеÄI/O²Ù×÷¶¼ÔÚͬһ¸öNIOÏß³ÌÉÏÃæÍê³É¡£¶ÔÓÚһЩСÈÝÁ¿Ó¦Óó¡¾°£¬¿ÉÒÔʹÓõ¥Ïß³ÌÄ£ÐÍ¡£

2.Reactor¶àÏß³ÌÄ£ÐÍ£ºRector¶àÏß³ÌÄ£ÐÍÓëµ¥Ïß³ÌÄ£ÐÍ×î´óµÄÇø±ð¾ÍÊÇÓÐÒ»×éNIOÏ̴߳¦ÀíI/O²Ù×÷¡£Ö÷ÒªÓÃÓڸ߲¢·¢¡¢´óÒµÎñÁ¿³¡¾°¡£

3.Ö÷´ÓReactor¶àÏß³ÌÄ£ÐÍ£ºÖ÷´ÓReactorÏß³ÌÄ£Ð͵ÄÌØµãÊÇ·þÎñ¶ËÓÃÓÚ½ÓÊÕ¿Í»§¶ËÁ¬½ÓµÄ²»ÔÙÊǸö1¸öµ¥¶ÀµÄNIOỊ̈߳¬¶øÊÇÒ»¸ö¶ÀÁ¢µÄNIOÏ̳߳ء£ÀûÓÃÖ÷´ÓNIOÏß³ÌÄ£ÐÍ£¬¿ÉÒÔ½â¾ö1¸ö·þÎñ¶Ë¼àÌýÏß³ÌÎÞ·¨ÓÐЧ´¦ÀíËùÓпͻ§¶ËÁ¬½ÓµÄÐÔÄܲ»×ãÎÊÌâ¡£

ÊÂʵÉÏ£¬NettyµÄÏß³ÌÄ£ÐͲ¢·Ç¹Ì¶¨²»±ä£¬Í¨¹ýÔÚÆô¶¯¸¨ÖúÀàÖд´½¨²»Í¬µÄEventLoopGroupʵÀý²¢Í¨¹ýÊʵ±µÄ²ÎÊýÅäÖ㬾ͿÉÒÔÖ§³ÖÉÏÊöÈýÖÖReactorÏß³ÌÄ£ÐÍ¡£

ÔÚ´ó¶àÊý³¡¾°Ï£¬²¢ÐжàÏ̴߳¦Àí¿ÉÒÔÌáÉýϵͳµÄ²¢·¢ÐÔÄÜ¡£µ«ÊÇ£¬Èç¹û¶ÔÓÚ¹²Ïí×ÊÔ´µÄ²¢·¢·ÃÎÊ´¦Àí²»µ±£¬»á´øÀ´ÑÏÖØµÄËø¾ºÕù£¬Õâ×îÖջᵼÖÂÐÔÄܵÄϽµ¡£ÎªÁ˾¡¿ÉÄܵıÜÃâËø¾ºÕù´øÀ´µÄÐÔÄÜËðºÄ£¬¿ÉÒÔͨ¹ý´®Ðл¯Éè¼Æ£¬¼´ÏûÏ¢µÄ´¦Àí¾¡¿ÉÄÜÔÚͬһ¸öÏß³ÌÄÚÍê³É£¬ÆÚ¼ä²»½øÐÐÏß³ÌÇл»£¬ÕâÑù¾Í±ÜÃâÁ˶àÏ߳̾ºÕùºÍͬ²½Ëø¡£

ΪÁ˾¡¿ÉÄÜÌáÉýÐÔÄÜ£¬Netty²ÉÓÃÁË´®ÐÐÎÞËø»¯Éè¼Æ£¬ÔÚI/OÏß³ÌÄÚ²¿½øÐд®ÐвÙ×÷£¬±ÜÃâ¶àÏ߳̾ºÕùµ¼ÖµÄÐÔÄÜϽµ¡£±íÃæÉÏ¿´£¬´®Ðл¯Éè¼ÆËÆºõCPUÀûÓÃÂʲ»¸ß£¬²¢·¢³Ì¶È²»¹»¡£µ«ÊÇ£¬Í¨¹ýµ÷ÕûNIOÏ̳߳صÄÏ̲߳ÎÊý£¬¿ÉÒÔͬʱÆô¶¯¶à¸ö´®Ðл¯µÄÏ̲߳¢ÐÐÔËÐУ¬ÕâÖÖ¾Ö²¿ÎÞËø»¯µÄ´®ÐÐÏß³ÌÉè¼ÆÏà±ÈÒ»¸ö¶ÓÁÐ-¶à¸ö¹¤×÷Ïß³ÌÄ£ÐÍÐÔÄܸüÓÅ¡£

ÐòÁл¯·½Ê½

Ó°ÏìÐòÁл¯ÐÔÄܵĹؼüÒòËØ×ܽáÈçÏ£º

1.ÐòÁл¯ºóµÄÂëÁ÷´óС£¨ÍøÂç´ø¿íÕ¼Óã©

2.ÐòÁл¯&·´ÐòÁл¯µÄÐÔÄÜ£¨CPU×ÊÔ´Õ¼Óã©

3.²¢·¢µ÷ÓõÄÐÔÄܱíÏÖ£ºÎȶ¨ÐÔ¡¢ÏßÐÔÔö³¤¡¢Å¼ÏÖµÄʱÑÓë´ÌµÈ

¶ÔJavaÐòÁл¯ºÍ¶þ½øÖƱàÂë·Ö±ð½øÐÐÐÔÄܲâÊÔ£¬±àÂë100Íò´Î£¬²âÊÔ½á¹û±íÃ÷£ºJavaÐòÁл¯µÄÐÔÄÜÖ»Óжþ½øÖƱàÂëµÄ6.17%×óÓÒ¡£

NettyĬÈÏÌṩÁ˶ÔGoogle ProtobufµÄÖ§³Ö£¬Í¨¹ýÀ©Õ¹NettyµÄ±à½âÂë½Ó¿Ú£¬Óû§¿ÉÒÔʵÏÖÆäËüµÄ¸ßÐÔÄÜÐòÁл¯¿ò¼Ü£¬ÀýÈçThriftµÄѹËõ¶þ½øÖƱà½âÂë¿ò¼Ü¡£

²»Í¬µÄÓ¦Óó¡¾°¶ÔÐòÁл¯¿ò¼ÜµÄÐèÇóÒ²²»Í¬£¬¶ÔÓÚ¸ßÐÔÄÜÓ¦Óó¡¾°NettyĬÈÏÌṩÁËGoogleµÄProtobuf¶þ½øÖÆÐòÁл¯¿ò¼Ü£¬Èç¹ûÓû§¶ÔÆäËü¶þ½øÖÆÐòÁл¯¿ò¼ÜÓÐÐèÇó£¬Ò²¿ÉÒÔ»ùÓÚNettyÌṩµÄ±à½âÂë¿ò¼ÜÀ©Õ¹ÊµÏÖ¡£

Netty¼Ü¹¹ÆÊÎöÖ®¿É¿¿ÐÔ

NettyÃæÁٵĿɿ¿ÐÔÌôÕ½£º

1.×÷ΪRPC¿ò¼ÜµÄ»ù´¡ÍøÂçͨÐÅ¿ò¼Ü£¬Ò»µ©¹ÊÕϽ«µ¼ÖÂÎÞ·¨½øÐÐÔ¶³Ì·þÎñ£¨½Ó¿Ú£©µ÷Óá£

2.×÷ΪӦÓòãЭÒéµÄ»ù´¡Í¨ÐÅ¿ò¼Ü£¬Ò»µ©¹ÊÕϽ«µ¼ÖÂÓ¦ÓÃЭÒéÕ»ÎÞ·¨Õý³£¹¤×÷¡£

3.ÍøÂç»·¾³¸´ÔÓ£¨ÀýÈçÊÖÓλòÕßÍÆËÍ·þÎñµÄGSM/3G/WIFIÍøÂ磩£¬¹ÊÕϲ»¿É±ÜÃ⣬ҵÎñÈ´²»ÄÜÖжϡ£

´ÓÓ¦Óó¡¾°¿´£¬NettyÊÇ»ù´¡µÄͨÐÅ¿ò¼Ü£¬Ò»µ©³öÏÖBug£¬ÇáÔòÐèÒªÖØÆôÓ¦Óã¬ÖØÔò¿ÉÄܵ¼ÖÂÕû¸öÒµÎñÖжϡ£ËüµÄ¿É¿¿ÐÔ»áÓ°ÏìÕû¸öÒµÎñ¼¯ÈºµÄÊý¾ÝͨÐźͽ»»»£¬ÔÚµ±½ñÒÔ·Ö²¼Ê½ÎªÖ÷µÄÈí¼þ¼Ü¹¹ÌåϵÖУ¬Í¨ÐÅÖжϾÍÒâζ×ÅÕû¸öÒµÎñÖжϣ¬·Ö²¼Ê½¼Ü¹¹Ï¶ÔͨÐŵĿɿ¿ÐÔÒªÇó·Ç³£¸ß¡£

´ÓÔËÐл·¾³¿´£¬Netty»áÃæÁÙ¶ñÁÓµÄÍøÂç»·¾³£¬Õâ¾ÍÒªÇóËü×ÔÉíµÄ¿É¿¿ÐÔÒª×ã¹»ºÃ£¬Æ½Ì¨Äܹ»½â¾öµÄ¿É¿¿ÐÔÎÊÌâÐèÒªÓÉNetty×ÔÉíÀ´½â¾ö£¬·ñÔò»áµ¼ÖÂÉϲãÓû§¹Ø×¢¹ý¶àµÄµ×²ã¹ÊÕÏ£¬Õ⽫½µµÍNettyµÄÒ×ÓÃÐÔ£¬Í¬Ê±Ôö¼ÓÓû§µÄ¿ª·¢ºÍÔËά³É±¾¡£

NettyµÄ¿É¿¿ÐÔÊÇÈç´ËÖØÒª£¬ËüµÄÈκιÊÕ϶¼¿ÉÄܻᵼÖÂÒµÎñÖжϣ¬ÃÉÊܾ޴óµÄ¾­¼ÃËðʧ¡£Òò´Ë£¬NettyÔÚ°æ±¾µÄµü´úÖв»¶Ï¼ÓÈëеĿɿ¿ÐÔÌØÐÔÀ´Âú×ãÓû§ÈÕÒæÔö³¤µÄ¸ß¿É¿¿ºÍ½¡×³ÐÔÐèÇó¡£

Á´Â·ÓÐЧÐÔ¼ì²â

NettyÌṩµÄÐÄÌø¼ì²â»úÖÆ·ÖΪÈýÖÖ£º

1.¶Á¿ÕÏУ¬Á´Â·³ÖÐøÊ±¼ätûÓжÁÈ¡µ½ÈκÎÏûÏ¢£»

2.д¿ÕÏУ¬Á´Â·³ÖÐøÊ±¼ätûÓз¢ËÍÈκÎÏûÏ¢£»

3.¶Áд¿ÕÏУ¬Á´Â·³ÖÐøÊ±¼ätûÓнÓÊÕ»òÕß·¢ËÍÈκÎÏûÏ¢¡£

µ±ÍøÂç·¢Éúµ¥Í¨¡¢Á¬½Ó±»·À»ðǽHangס¡¢³¤Ê±¼äGC»òÕßͨÐÅÏ̷߳¢Éú·ÇÔ¤ÆÚÒ쳣ʱ£¬»áµ¼ÖÂÁ´Â·²»¿ÉÓÃÇÒ²»Ò×±»¼°Ê±·¢ÏÖ¡£ÌرðÊÇÒì³£·¢ÉúÔÚÁ賿ҵÎñµÍ¹ÈÆÚ¼ä£¬µ±Ô糿ҵÎñ¸ß·åÆÚµ½À´Ê±£¬ÓÉÓÚÁ´Â·²»¿ÉÓûᵼÖÂ˲¼äµÄ´óÅúÁ¿ÒµÎñʧ°Ü»òÕß³¬Ê±£¬Õ⽫¶ÔϵͳµÄ¿É¿¿ÐÔ²úÉúÖØ´óµÄÍþв¡£

´Ó¼¼Êõ²ãÃæ¿´£¬Òª½â¾öÁ´Â·µÄ¿É¿¿ÐÔÎÊÌ⣬±ØÐëÖÜÆÚÐԵĶÔÁ´Â·½øÐÐÓÐЧÐÔ¼ì²â¡£Ä¿Ç°×îÁ÷ÐкÍͨÓõÄ×ö·¨¾ÍÊÇÐÄÌø¼ì²â¡£

ÐÄÌø¼ì²â»úÖÆ·ÖΪÈý¸ö²ãÃæ£º

1.TCP²ãÃæµÄÐÄÌø¼ì²â£¬¼´TCPµÄKeep-Alive»úÖÆ£¬ËüµÄ×÷ÓÃÓòÊÇÕû¸öTCPЭÒéÕ»£»

2.ЭÒé²ãµÄÐÄÌø¼ì²â£¬Ö÷Òª´æÔÚÓÚ³¤Á¬½ÓЭÒéÖС£ÀýÈçSMPPЭÒ飻

3.Ó¦ÓòãµÄÐÄÌø¼ì²â£¬ËüÖ÷ÒªÓɸ÷ÒµÎñ²úƷͨ¹ýÔ¼¶¨·½Ê½¶¨Ê±¸ø¶Ô·½·¢ËÍÐÄÌøÏûϢʵÏÖ¡£

ÐÄÌø¼ì²âµÄÄ¿µÄ¾ÍÊÇÈ·Èϵ±Ç°Á´Â·¿ÉÓ㬶Է½»î×Ų¢ÇÒÄܹ»Õý³£½ÓÊպͷ¢ËÍÏûÏ¢¡£×öΪ¸ß¿É¿¿µÄNIO¿ò¼Ü£¬NettyÒ²ÌṩÁË»ùÓÚÁ´Â·¿ÕÏеÄÐÄÌø¼ì²â»úÖÆ£º

1.¶Á¿ÕÏУ¬Á´Â·³ÖÐøÊ±¼ätûÓжÁÈ¡µ½ÈκÎÏûÏ¢£»

2.д¿ÕÏУ¬Á´Â·³ÖÐøÊ±¼ätûÓз¢ËÍÈκÎÏûÏ¢£»

3.¶Áд¿ÕÏУ¬Á´Â·³ÖÐøÊ±¼ätûÓнÓÊÕ»òÕß·¢ËÍÈκÎÏûÏ¢¡£

Á÷Á¿ÕûÐÎ

Á÷Á¿ÕûÐΣ¨Traffic Shaping£©ÊÇÒ»ÖÖÖ÷¶¯µ÷ÕûÁ÷Á¿Êä³öËÙÂʵĴëÊ©¡£NettyµÄÁ÷Á¿ÕûÐÎÓÐÁ½¸ö×÷Óãº

1.·ÀÖ¹ÓÉÓÚÉÏÏÂÓÎÍøÔªÐÔÄܲ»¾ùºâµ¼ÖÂÏÂÓÎÍøÔª±»Ñ¹¿å£¬ÒµÎñÁ÷³ÌÖжϣ»

2.·ÀÖ¹ÓÉÓÚͨÐÅÄ£¿é½ÓÊÕÏûÏ¢¹ý¿ì£¬ºó¶ËÒµÎñÏ̴߳¦Àí²»¼°Ê±µ¼Öµġ°³ÅËÀ¡±ÎÊÌâ¡£

Á÷Á¿ÕûÐεÄÔ­ÀíʾÒâͼÈçÏ£º

Á÷Á¿ÕûÐΣ¨Traffic Shaping£©ÊÇÒ»ÖÖÖ÷¶¯µ÷ÕûÁ÷Á¿Êä³öËÙÂʵĴëÊ©¡£Ò»¸öµäÐÍÓ¦ÓÃÊÇ»ùÓÚÏÂÓÎÍøÂç½áµãµÄTPÖ¸±êÀ´¿ØÖƱ¾µØÁ÷Á¿µÄÊä³ö¡£Á÷Á¿ÕûÐÎÓëÁ÷Á¿¼à¹ÜµÄÖ÷񻂿±ðÔÚÓÚ£¬Á÷Á¿ÕûÐζÔÁ÷Á¿¼à¹ÜÖÐÐèÒª¶ªÆúµÄ±¨ÎĽøÐлº´æ¡ª¡ªÍ¨³£Êǽ«ËüÃÇ·ÅÈ뻺³åÇø»ò¶ÓÁÐÄÚ£¬Ò²³ÆÁ÷Á¿ÕûÐΣ¨Traffic Shaping£¬¼ò³ÆTS£©¡£µ±ÁîÅÆÍ°ÓÐ×ã¹»µÄÁîÅÆÊ±£¬ÔÙ¾ùÔȵÄÏòÍâ·¢ËÍÕâЩ±»»º´æµÄ±¨ÎÄ¡£Á÷Á¿ÕûÐÎÓëÁ÷Á¿¼à¹ÜµÄÁíÒ»Çø±ðÊÇ£¬ÕûÐοÉÄÜ»áÔö¼ÓÑÓ³Ù£¬¶ø¼à¹Ü¼¸ºõ²»ÒýÈë¶îÍâµÄÑÓ³Ù¡£

NettyÖ§³ÖÁ½ÖÖÁ÷Á¿ÕûÐÎģʽ£º

1.È«¾ÖÁ÷Á¿ÕûÐΣºÈ«¾ÖÁ÷Á¿ÕûÐεÄ×÷Ó÷¶Î§Êǽø³Ì¼¶µÄ£¬ÎÞÂÛÄã´´½¨Á˶àÉÙ¸öChannel£¬ËüµÄ×÷ÓÃÓòÕë¶ÔËùÓеÄChannel¡£Óû§¿ÉÒÔͨ¹ý²ÎÊýÉèÖ㺱¨ÎĵĽÓÊÕËÙÂÊ¡¢±¨Îĵķ¢ËÍËÙÂÊ¡¢ÕûÐÎÖÜÆÚ¡£

2.Á´Â·¼¶Á÷Á¿ÕûÐΣºµ¥Á´Â·Á÷Á¿ÕûÐÎÓëÈ«¾ÖÁ÷Á¿ÕûÐεÄ×î´óÇø±ð¾ÍÊÇËüÒÔµ¥¸öÁ´Â·Îª×÷ÓÃÓò£¬¿ÉÒÔ¶Ô²»Í¬µÄÁ´Â·ÉèÖò»Í¬µÄÕûÐβßÂÔ¡£

ÓÅÑÅÍ£»ú

NettyµÄÓÅÑÅÍ£»úÈý²¿Çú£º

1.²»ÔÙ½ÓÊÕÐÂÏûÏ¢

2.Í˳öǰµÄÔ¤´¦Àí²Ù×÷

3.×ÊÔ´µÄÊͷŲÙ×÷

JavaµÄÓÅÑÅÍ£»úͨ³£Í¨¹ý×¢²áJDKµÄShutdownHookÀ´ÊµÏÖ£¬µ±ÏµÍ³½ÓÊÕµ½Í˳öÖ¸Áîºó£¬Ê×Ïȱê¼Çϵͳ´¦ÓÚÍ˳ö״̬£¬²»ÔÙ½ÓÊÕеÄÏûÏ¢£¬È»ºó½«»ýѹµÄÏûÏ¢´¦ÀíÍ꣬×îºóµ÷ÓÃ×ÊÔ´»ØÊÕ½Ó¿Ú½«×ÊÔ´Ïú»Ù£¬×îºó¸÷Ïß³ÌÍ˳öÖ´ÐС£

ͨ³£ÓÅÑÅÍ˳öÐèÒªÓг¬Ê±¿ØÖÆ»úÖÆ£¬ÀýÈç30S£¬Èç¹ûµ½´ï³¬Ê±Ê±¼äÈÔȻûÓÐÍê³ÉÍ˳öǰµÄ×ÊÔ´»ØÊյȲÙ×÷£¬ÔòÓÉÍ£»ú½Å±¾Ö±½Óµ÷ÓÃkill -9 pid£¬Ç¿ÖÆÍ˳ö¡£

ÔÚʵ¼ÊÏîÄ¿ÖУ¬Netty×÷Ϊ¸ßÐÔÄܵÄÒì²½NIOͨÐÅ¿ò¼Ü£¬ÍùÍùÓÃ×÷»ù´¡Í¨ÐÅ¿ò¼Ü¸ºÔð¸÷ÖÖЭÒéµÄ½ÓÈë¡¢½âÎöºÍµ÷¶ÈµÈ£¬ÀýÈçÔÚRPCºÍ·Ö²¼Ê½·þÎñ¿ò¼ÜÖУ¬ÍùÍù»áʹÓÃNetty×÷ΪÄÚ²¿Ë½ÓÐЭÒéµÄ»ù´¡Í¨ÐÅ¿ò¼Ü¡£ µ±Ó¦Óýø³ÌÓÅÑÅÍ˳öʱ£¬×÷ΪͨÐÅ¿ò¼ÜµÄNettyÒ²ÐèÒªÓÅÑÅÍ˳ö£¬Ö÷ÒªÔ­ÒòÈçÏ£º

¾¡¿ìµÄÊÍ·ÅNIOÏ̡߳¢¾ä±úµÈ×ÊÔ´£»

Èç¹ûʹÓÃflush×öÅúÁ¿ÏûÏ¢·¢ËÍ£¬ÐèÒª½«»ýÔÜÔÚ·¢ËͶÓÁÐÖеĴý·¢ËÍÏûÏ¢·¢ËÍÍê³É£»

ÕýÔÚwrite»òÕßreadµÄÏûÏ¢£¬ÐèÒª¼ÌÐø´¦Àí£»

ÉèÖÃÔÚNioEventLoopÏ̵߳÷¶ÈÆ÷ÖеĶ¨Ê±ÈÎÎñ£¬ÐèÒªÖ´ÐлòÕßÇåÀí¡£

Netty¼Ü¹¹ÆÊÎöÖ®°²È«ÐÔ

NettyÃæÁٵݲȫÌôÕ½£º

¶ÔµÚÈý·½¿ª·Å

×÷ΪӦÓòãЭÒéµÄ»ù´¡Í¨ÐÅ¿ò¼Ü

°²È«Íþв³¡¾°·ÖÎö£º

¶ÔµÚÈý·½¿ª·ÅµÄͨÐÅ¿ò¼Ü£ºÈç¹ûʹÓÃNetty×öRPC¿ò¼Ü»òÕß˽ÓÐЭÒéÕ»£¬RPC¿ò¼ÜÃæÏò·ÇÊÚÐŵĵÚÈý·½¿ª·Å£¬ÀýÈ罫ÄÚ²¿µÄһЩÄÜÁ¦Í¨¹ý·þÎñ¶ÔÍ⿪·Å³öÈ¥£¬´Ëʱ¾ÍÐèÒª½øÐа²È«ÈÏÖ¤£¬Èç¹û¿ª·ÅµÄÊǹ«ÍøIP£¬¶ÔÓÚ°²È«ÐÔÒªÇó·Ç³£¸ßµÄһЩ·þÎñ£¬ÀýÈçÔÚÏßÖ§¸¶¡¢¶©¹ºµÈ£¬ÐèҪͨ¹ýSSL/TLS½øÐÐͨÐÅ¡£

Ó¦ÓòãЭÒéµÄ°²È«ÐÔ¡£×÷Ϊ¸ßÐÔÄÜ¡¢Ò첽ʼþÇý¶¯µÄNIO¿ò¼Ü£¬Netty·Ç³£ÊʺϹ¹½¨ÉϲãµÄÓ¦ÓòãЭÒé¡£ÓÉÓÚ¾ø´ó¶àÊýÓ¦ÓòãЭÒé¶¼Êǹ«Óеģ¬ÕâÒâζ×ŵײãµÄNettyÐèÒªÏòÉϲãÌṩͨÐŲãµÄ°²È«´«Ê书ÄÜ¡£

SSL/TLS

Netty°²È«´«ÊäÌØÐÔ£º

1.Ö§³ÖSSL V2ºÍV3

2.Ö§³ÖTLS

3.Ö§³ÖSSLµ¥ÏòÈÏÖ¤¡¢Ë«ÏòÈÏÖ¤ºÍµÚÈý·½CAÈÏÖ¤¡£

SSLµ¥ÏòÈÏÖ¤Á÷³ÌͼÈçÏ£º

Nettyͨ¹ýSslHandlerÌṩÁ˶ÔSSLµÄÖ§³Ö£¬ËüÖ§³ÖµÄSSLЭÒéÀàÐͰüÀ¨£ºSSL V2¡¢SSL V3ºÍTLS¡£

µ¥ÏòÈÏÖ¤£ºµ¥ÏòÈÏÖ¤£¬¼´¿Í»§¶ËÖ»ÑéÖ¤·þÎñ¶ËµÄºÏ·¨ÐÔ£¬·þÎñ¶Ë²»ÑéÖ¤¿Í»§¶Ë¡£

Ë«ÏòÈÏÖ¤£ºÓëµ¥ÏòÈÏÖ¤²»Í¬µÄÊÇ·þÎñ¶ËÒ²ÐèÒª¶Ô¿Í»§¶Ë½øÐа²È«ÈÏÖ¤¡£Õâ¾ÍÒâζ×ſͻ§¶ËµÄ×ÔÇ©ÃûÖ¤ÊéÒ²ÐèÒªµ¼Èëµ½·þÎñ¶ËµÄÊý×ÖÖ¤Êé²Ö¿âÖС£

CAÈÏÖ¤£º»ùÓÚ×ÔÇ©ÃûµÄSSLË«ÏòÈÏÖ¤£¬Ö»Òª¿Í»§¶Ë»òÕß·þÎñ¶ËÐÞ¸ÄÁËÃÜÔ¿ºÍÖ¤Ê飬¾ÍÐèÒªÖØÐ½øÐÐÇ©ÃûºÍÖ¤Êé½»»»£¬ÕâÖÖµ÷ÊÔºÍά»¤¹¤×÷Á¿ÊǷdz£´óµÄ¡£Òò´Ë£¬ÔÚʵ¼ÊµÄÉÌÓÃϵͳÖÐÍùÍù»áʹÓõÚÈý·½CAÖ¤Êé°ä·¢»ú¹¹½øÐÐÇ©ÃûºÍÑéÖ¤¡£ÎÒÃǵÄä¯ÀÀÆ÷¾Í±£´æÁ˼¸¸ö³£ÓõÄCA_ROOT¡£Ã¿´ÎÁ¬½Óµ½ÍøÕ¾Ê±Ö»ÒªÕâ¸öÍøÕ¾µÄÖ¤ÊéÊǾ­¹ýÕâЩCA_ROOTÇ©Ãû¹ýµÄ¡£¾Í¿ÉÒÔͨ¹ýÑéÖ¤ÁË¡£

¿ÉÀ©Õ¹µÄ°²È«ÌØÐÔ

ͨ¹ýNettyµÄÀ©Õ¹ÌØÐÔ£¬¿ÉÒÔ×Ô¶¨Ò尲ȫ²ßÂÔ£º

1.IPµØÖ·ºÚÃûµ¥»úÖÆ

2.½ÓÈëÈÏÖ¤

3.Ãô¸ÐÐÅÏ¢¼ÓÃÜ»òÕß¹ýÂË»úÖÆ

IPµØÖ·ºÚÃûµ¥ÊDZȽϳ£ÓõÄÈõ°²È«±£»¤²ßÂÔ£¬ËüµÄÌØµã¾ÍÊÇ·þÎñ¶ËÔÚÓë¿Í»§¶ËͨÐŵĹý³ÌÖУ¬¶Ô¿Í»§¶ËµÄIPµØÖ·½øÐÐУÑ飬Èç¹û·¢ÏÖ¶Ô·½IPÔÚºÚÃûµ¥ÁбíÖУ¬Ôò¾Ü¾øÓëÆäͨÐÅ£¬¹Ø±ÕÁ´Â·¡£

½ÓÈëÈÏÖ¤²ßÂԷdz£¶à£¬Í¨³£ÊǽÏÇ¿µÄ°²È«ÈÏÖ¤²ßÂÔ£¬ÀýÈç»ùÓÚÓû§Ãû+ÃÜÂëµÄÈÏÖ¤£¬ÈÏÖ¤ÄÚÈÝÍùÍù²ÉÓüÓÃܵķ½Ê½£¬ÀýÈçBase64+AESµÈ¡£

Netty¼Ü¹¹ÆÊÎöÖ®À©Õ¹ÐÔ

ͨ¹ýNettyµÄÀ©Õ¹ÌØÐÔ£¬¿ÉÒÔ×Ô¶¨Ò尲ȫ²ßÂÔ£º

1.Ïß³ÌÄ£ÐÍ¿ÉÀ©Õ¹

2.ÐòÁл¯·½Ê½¿ÉÀ©Õ¹

3.ÉϲãЭÒéÕ»¿ÉÀ©Õ¹

4.Ìṩ´óÁ¿µÄÍøÂçʼþÇÐÃæ£¬·½±ãÓû§¹¦ÄÜÀ©Õ¹

NettyµÄ¼Ü¹¹¿ÉÀ©Õ¹ÐÔÉè¼ÆÀíÄîÈçÏ£º

5.ÅжÏÀ©Õ¹µã£¬ÊÂÏÈÔ¤ÁôÏà¹ØÀ©Õ¹½Ó¿Ú£¬¸øÓû§¶þ´Î¶¨ÖƺÍÀ©Õ¹Ê¹Óã»

6.Ö÷Òª¹¦Äܵ㶼»ùÓÚ½Ó¿Ú±à³Ì£¬·½±ãÓû§¶¨ÖƺÍÀ©Õ¹¡£

¾«²ÊÎÊ´ð

ÎÊ£º¾ÝÎÒ֮ǰÁ˽⵽£¬JavaµÄNIO selectorµ×²ãÔÚWindowsϵÄʵÏÖÊÇÆðÁ½¸öËæ»ú¶Ë¿Ú»¥ÁªÀ´¼à²âÁ¬½Ó»ò¶Áдʼþ£¬ÔÚLinuxÉÏÊÇÀûÓùܵÀʵÏֵģ»ÎÒÓÐÓöµ½¹ýÕâÑùµÄÐèÇó£¬ÐèÒªÕ¼Óúܶà¸ö¹Ì¶¨¶Ë¿Ú×ö·þÎñ¶Ë£¬Èç¹ûÔÚWindowsÏ£¬ÀûÓÃNIO¿ò¼Ü£¨Mina»òNetty£©¾ÍÓпÉÄÜ»áÔì³É¶Ë¿Ú³åÍ»£¬ÕâÖÖÇé¿öÓÐʲôºÃµÄ½â¾ö·½°¸Âð£¿

Äã˵µÄÎÊÌâȷʵ´æÔÚ£¬LinuxʹÓÃPipeʵÏÖÍøÂç¼àÌý£¬WindowsÒªÆô¶¯¶Ë¿Ú¡£Ä¿Ç°Ã»ÓиüºÃµÄ°ì·¨£¬½¨ÒéµÄ·½Ê½ÊÇ×÷Ϊ·þÎñ¶ËµÄ¶Ë¿Ú¿ÉÒԹ滮һ¸ö·¶Î§£¬È»ºó¸ù¾Ý½ÚµãºÍ½ø³ÌÐÅÏ¢¶¯Ì¬Éú³É£¬Èç¹û·¢Ïֶ˿ڳåÍ»£¬¿ÉÒÔÔڹ滮·¶Î§ÄÚ»ùÓÚËã·¨ÖØÐÂÉú³ÉÒ»¸öеĶ˿ڡ£

ÎÊ£ºÇëÎÒ£¬ÎÒÏÖÔÚ½«SpringÓëNetty×öÁËÕûºÏ£¬Ê¹ÓÃSpringµÄService¿ªÆô NettyÖ÷Ị̈߳¬µ«ÊÇÍ£Ö¹Õû¸öÔËÐÐÈÝÆ÷µÄʱºò£¬NettyµÄTCP Server¶Ë¿Ú²»ÄÜÊÍ·Å£¿Í˳ö´¦Àíʱ£¬ÓÐʲôºÃµÄ°ì·¨ÊÍ·ÅNetty Server¶Ë¿Úô£¿

ʵ¼ÊÉÏ£¬ÓÉË­À­ÆðNetty Ö÷Ï̲߳¢²»ÖØÒª¡£ÎÒÃÇÐèÒª×öµÄ¾ÍÊǵ±Ó¦ÓÃÈÝÆ÷Í˳öµÄʱºò£¨Spring ContextÏú»Ù£©£¬ÔÚÍ˳ö֮ǰµ÷ÓÃNetty µÄÓÅÑÅÍ˳ö½Ó¿Ú¼´¿ÉʵÏֶ˿ڡ¢NIOÏß³Ì×ÊÔ´µÄÊÍ·Å¡£Çë²Î¿¼ÕâÆªÎÄÕ£ºhttp://www.infoq.com/cn/articles/netty-elegant-exit-mechanism-and-principles

ÎÊ£ºÊʺÏÓÃNettyдWebͨÐÅô?

Netty²»ÊÇWeb¿ò¼Ü£¬ÎÞ·¨½âÎöJSP¡¢HTML¡¢JSµÈ£¬µ«ÊÇËü¿ÉÒÔ×öWeb ͨÐÅ£¬ÀýÈç¿ÉÒÔʹÓÃNettyÖØÐ´TomcatµÄHTTP/HTTPS ͨÐÅЭÒéÕ»¡£

ÎÊ£ºÄܲ»Äܽ²½âÒ»ÏÂNettyµÄ´®ÐÐÎÞËø»¯Éè¼Æ£¬ÈçºÎÔÚ´®ÐкͲ¢ÐÐÖдﵽ×îÓÅ£¿

ΪÁ˾¡¿ÉÄÜÌáÉýÐÔÄÜ£¬Netty²ÉÓÃÁË´®ÐÐÎÞËø»¯Éè¼Æ£¬ÔÚIOÏß³ÌÄÚ²¿½øÐд®ÐвÙ×÷£¬±ÜÃâ¶àÏ߳̾ºÕùµ¼ÖµÄÐÔÄÜϽµ¡£±íÃæÉÏ¿´£¬´®Ðл¯Éè¼ÆËÆºõCPUÀûÓÃÂʲ»¸ß£¬²¢·¢³Ì¶È²»¹»¡£µ«ÊÇ£¬Í¨¹ýµ÷ÕûNIOÏ̳߳صÄÏ̲߳ÎÊý£¬¿ÉÒÔͬʱÆô¶¯¶à¸ö´®Ðл¯µÄÏ̲߳¢ÐÐÔËÐУ¬ÕâÖÖ¾Ö²¿ÎÞËø»¯µÄ´®ÐÐÏß³ÌÉè¼ÆÏà±ÈÒ»¸ö¶ÓÁÐ-¶à¸ö¹¤×÷Ïß³ÌÄ£ÐÍÐÔÄܸüÓÅ¡£NettyµÄNioEventLoop¶ÁÈ¡µ½ÏûÏ¢Ö®ºó£¬Ö±½Óµ÷ÓÃChannelPipelineµÄfireChannelRead(Object msg)£¬Ö»ÒªÓû§²»Ö÷¶¯Çл»Ị̈߳¬Ò»Ö±»áÓÉNioEventLoopµ÷Óõ½Óû§µÄHandler£¬ÆÚ¼ä²»½øÐÐÏß³ÌÇл»£¬ÕâÖÖ´®Ðл¯´¦Àí·½Ê½±ÜÃâÁ˶àÏ̲߳Ù×÷µ¼ÖµÄËøµÄ¾ºÕù£¬´ÓÐÔÄܽǶȿ´ÊÇ×îÓŵġ£

 

   
4590 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù