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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÏûÏ¢¶ÓÁм°ÏûÏ¢Öмä¼þ
 
×÷ÕߣºÄþæº
  2978  次浏览      27
 2020-5-12 
 
±à¼­ÍƼö:
ͨ¹ý±¾ÎÄ£¬¶ÔÓÚÏûÏ¢¶ÓÁм°Ïà¹Ø¼¼ÊõÑ¡ÐÍ£¬ÏàÐÅ´ó¼Ò»áÓÐÁ˸üÉîÈëµÄÀí½âºÍÈÏʶ,¸ü¶àÄÚÈÝÇë¿´È«ÎÄ
À´×ÔÓÚ¼òÊé,ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

ÏûÏ¢¶ÓÁÐ ÒѾ­Öð½¥³ÉΪÆóÒµÓ¦ÓÃϵͳ ÄÚ²¿Í¨ÐÅ µÄºËÐÄÊֶΡ£Ëü¾ßÓÐ µÍñîºÏ¡¢¿É¿¿Í¶µÝ¡¢¹ã²¥¡¢Á÷Á¿¿ØÖÆ¡¢×îÖÕÒ»ÖÂÐÔ µÈһϵÁй¦ÄÜ¡£

µ±Ç°Ê¹Óý϶àµÄ ÏûÏ¢¶ÓÁÐ ÓÐ RabbitMQ¡¢RocketMQ¡¢ActiveMQ¡¢Kafka¡¢ZeroMQ¡¢MetaMQ µÈ£¬¶ø²¿·Ö Êý¾Ý¿â Èç Redis¡¢MySQL ÒÔ¼° phxsql Ò²¿ÉʵÏÖÏûÏ¢¶ÓÁеŦÄÜ¡£

ÕýÎÄ

1. ÏûÏ¢¶ÓÁиÅÊö

ÏûÏ¢¶ÓÁÐ ÊÇÖ¸ÀûÓà ¸ßЧ¿É¿¿ µÄ ÏûÏ¢´«µÝ»úÖÆ ½øÐÐÓëÆ½Ì¨ÎÞ¹ØµÄ Êý¾Ý½»Á÷£¬²¢»ùÓÚ Êý¾ÝͨÐÅÀ´½øÐзֲ¼Ê½ÏµÍ³µÄ¼¯³É¡£

ͨ¹ýÌṩ ÏûÏ¢´«µÝ ºÍ ÏûÏ¢ÅÅ¶Ó Ä£ÐÍ£¬Ëü¿ÉÒÔÔÚ ·Ö²¼Ê½»·¾³ ÏÂÌṩ Ó¦Óýâñî¡¢µ¯ÐÔÉìËõ¡¢ÈßÓà´æ´¢¡¢Á÷Á¿Ï÷·å¡¢Ò첽ͨÐÅ¡¢Êý¾Ýͬ²½ µÈµÈ¹¦ÄÜ£¬Æä×÷Ϊ ·Ö²¼Ê½ÏµÍ³¼Ü¹¹ ÖеÄÒ»¸öÖØÒª×é¼þ£¬ÓÐמÙ×ãÇáÖØµÄµØÎ»¡£

2. ÏûÏ¢¶ÓÁеÄÌØµã

2.1. ²ÉÓÃÒì²½´¦Àíģʽ

ÏûÏ¢·¢ËÍÕß ¿ÉÒÔ·¢ËÍÒ»¸öÏûÏ¢¶øÎÞÐëµÈ´ýÏìÓ¦¡£ÏûÏ¢·¢ËÍÕß ½«ÏûÏ¢·¢Ë͵½Ò»Ìõ ÐéÄâµÄͨµÀ£¨Ö÷Ìâ »ò ¶ÓÁУ©ÉÏ£¬ÏûÏ¢½ÓÊÕÕß Ôò ¶©ÔÄ »òÊÇ ¼àÌý ¸ÃͨµÀ¡£Ò»ÌõÐÅÏ¢¿ÉÄÜ×îÖÕת·¢¸ø Ò»¸ö»ò¶à¸ö ÏûÏ¢½ÓÊÕÕߣ¬ÕâЩ½ÓÊÕÕß¶¼ÎÞÐè¶Ô ÏûÏ¢·¢ËÍÕß ×ö³ö ͬ²½»ØÓ¦¡£Õû¸ö¹ý³Ì¶¼ÊÇ Òì²½µÄ¡£

2.2. Ó¦ÓÃϵͳ֮¼ä½âñîºÏ

Ö÷ÒªÌåÏÖÔÚÈçÏÂÁ½µã£º

·¢ËÍÕߺͽÓÊÜÕß²»±ØÁ˽â¶Ô·½¡¢Ö»ÐèÒª È·ÈÏÏûÏ¢£»

·¢ËÍÕߺͽÓÊÜÕß ²»±ØÍ¬Ê±ÔÚÏß¡£

±ÈÈçÔÚÏß½»Ò×ϵͳΪÁ˱£Ö¤Êý¾ÝµÄ ×îÖÕÒ»Ö£¬ÔÚ Ö§¸¶ÏµÍ³ ´¦ÀíÍê³Éºó»á°Ñ Ö§¸¶½á¹û ·Åµ½ ÏûÏ¢Öмä¼þ À֪ͨ ¶©µ¥ÏµÍ³ ÐÞ¸Ä ¶©µ¥Ö§¸¶×´Ì¬¡£Á½¸öϵͳÊÇͨ¹ýÏûÏ¢Öмä¼þ½âñîµÄ¡£

3. ÏûÏ¢¶ÓÁеĴ«µÝ·þÎñÄ£ÐÍ

ÏûÏ¢¶ÓÁÐµÄ ´«µÝ·þÎñÄ£ÐÍ ÈçÏÂͼËùʾ£º

4. ÏûÏ¢¶ÓÁеĵĴ«Êäģʽ

4.1. µã¶ÔµãÄ£ÐÍ

µã¶ÔµãÄ£ÐÍ ÓÃÓÚ ÏûÏ¢Éú²úÕß ºÍ ÏûÏ¢Ïû·ÑÕß Ö®¼ä µãµ½µã µÄͨÐÅ¡£ÏûÏ¢Éú²úÕß½«ÏûÏ¢·¢Ë͵½ÓÉij¸öÃû×Ö±êʶµÄÌØ¶¨Ïû·ÑÕß¡£Õâ¸öÃû×Öʵ¼ÊÉ϶ÔÓÚÏû·Ñ·þÎñÖеÄÒ»¸ö ¶ÓÁУ¨Queue£©£¬ÔÚÏûÏ¢´«µÝ¸øÏû·ÑÕß֮ǰËü±» ´æ´¢ ÔÚÕâ¸ö¶ÓÁÐÖС£¶ÓÁÐÏûÏ¢ ¿ÉÒÔ·ÅÔÚ ÄÚ´æ ÖÐÒ²¿ÉÒÔ ³Ö¾Ã»¯£¬ÒÔ±£Ö¤ÔÚÏûÏ¢·þÎñ³öÏÖ¹ÊÕÏʱÈÔÈ»Äܹ»´«µÝÏûÏ¢¡£

´«Í³µÄµã¶ÔµãÏûÏ¢Öмä¼þͨ³£ÓÉ ÏûÏ¢¶ÓÁзþÎñ¡¢ÏûÏ¢´«µÝ·þÎñ¡¢ÏûÏ¢¶ÓÁÐ ºÍ ÏûÏ¢Ó¦ÓóÌÐò½Ó¿Ú API ×é³É£¬ÆäµäÐ͵ĽṹÈçÏÂͼËùʾ¡£

ÌØµã£º

ÿ¸öÏûÏ¢Ö»ÓÃÒ»¸öÏû·ÑÕߣ»

·¢ËÍÕߺͽÓÊÜÕßûÓÐʱ¼äÒÀÀµ£»

½ÓÊÜÕßÈ·ÈÏÏûÏ¢½ÓÊܺʹ¦Àí³É¹¦¡£

ʾÒâͼÈçÏÂËùʾ£º

4.2. ·¢²¼/¶©ÔÄÄ£ÐÍ£¨Pub/Sub£©

·¢²¼Õß/¶©ÔÄÕß Ä£ÐÍÖ§³ÖÏòÒ»¸öÌØ¶¨µÄ ÏûÏ¢Ö÷Ìâ Éú²úÏûÏ¢¡£0 »ò ¶à¸ö¶©ÔÄÕß ¿ÉÄܶԽÓÊÕÀ´×Ô ÌØ¶¨ÏûÏ¢Ö÷Ìâ µÄÏûÏ¢¸ÐÐËȤ¡£

ÔÚÕâÖÖÄ£ÐÍÏ£¬·¢²¼ÕߺͶ©ÔÄÕ߱˴˲»ÖªµÀ¶Ô·½£¬¾ÍºÃ±ÈÊÇÄäÃû¹«¸æ°å¡£ÕâÖÖģʽ±»¸Å¿öΪ£º¶à¸öÏû·ÑÕß¿ÉÒÔ»ñµÃÏûÏ¢£¬ÔÚ ·¢²¼Õß ºÍ ¶©ÔÄÕß Ö®¼ä´æÔÚ Ê±¼äÒÀÀµÐÔ¡£·¢²¼ÕßÐèÒª½¨Á¢Ò»¸ö ¶©ÔÄ£¨subscription£©£¬ÒÔ±ãÄܹ»Ïû·ÑÕß¶©ÔÄ¡£¶©ÔÄÕß ±ØÐë±£³Ö ³ÖÐøµÄ»î¶¯×´Ì¬ ²¢ ½ÓÊÕÏûÏ¢¡£

ÔÚÕâÖÖÇé¿öÏ£¬ÔÚ¶©ÔÄÕß Î´Á¬½Óʱ£¬·¢²¼µÄÏûÏ¢½«ÔÚ¶©ÔÄÕß ÖØÐÂÁ¬½Ó ʱ ÖØÐ·¢²¼£¬ÈçÏÂͼËùʾ£º

ÌØÐÔ£º

ÿ¸öÏûÏ¢¿ÉÒÔÓжà¸ö¶©ÔÄÕߣ»

¿Í»§¶ËÖ»Óж©Ôĺó²ÅÄܽÓÊÕµ½ÏûÏ¢£»

³Ö¾Ã¶©Ôĺͷdz־ö©ÔÄ¡£

×¢Ò⣺

·¢²¼ÕߺͶ©ÔÄÕßÓÐʱ¼äÒÀÀµ£º½ÓÊÜÕߺͷ¢²¼ÕßÖ»Óн¨Á¢¶©ÔĹØÏµ²ÅÄÜÊÕµ½ÏûÏ¢£»

³Ö¾Ã¶©ÔÄ£º¶©ÔĹØÏµ½¨Á¢ºó£¬ÏûÏ¢¾Í²»»áÏûʧ£¬²»¹Ü¶©ÔÄÕßÊÇ·ñ¶¼ÔÚÏߣ»

·Ç³Ö¾Ã¶©ÔÄ£º¶©ÔÄÕßΪÁ˽ÓÊÜÏûÏ¢£¬±ØÐëÒ»Ö±ÔÚÏß¡£ µ±Ö»ÓÐÒ»¸ö¶©ÔÄÕßʱԼµÈÓÚµã¶Ôµãģʽ

5. ÏûÏ¢¶ÓÁÐÓ¦Óó¡¾°

µ±ÄãÐèҪʹÓà ÏûÏ¢¶ÓÁРʱ£¬Ê×ÏÈÐèÒª¿¼ÂÇËüµÄ±ØÒªÐÔ¡£¿ÉÒÔʹÓÃÏûÏ¢¶ÓÁеij¡¾°Óкܶ࣬×î³£Óõļ¸ÖÖ£¬ÊÇ×ö Ó¦ÓóÌÐòËÉñîºÏ¡¢Òì²½´¦Àíģʽ¡¢·¢²¼Óë¶©ÔÄ¡¢×îÖÕÒ»ÖÂÐÔ¡¢´í·åÁ÷¿Ø ºÍ ÈÕÖ¾»º³å µÈ¡£·´Ö®£¬Èç¹ûÐèÒª ǿһÖÂÐÔ£¬¹Ø×¢ÒµÎñÂß¼­µÄ´¦Àí½á¹û£¬ÔòʹÓà RPC ÏԵøüΪºÏÊÊ¡£

5.1. Òì²½´¦Àí

·ÇºËÐÄ Á÷³Ì Òì²½»¯£¬¼õÉÙϵͳ ÏìӦʱ¼ä£¬Ìá¸ß ÍÌÍÂÁ¿¡£ÀýÈ磺¶ÌÐÅ֪ͨ¡¢ÖÕ¶Ë×´Ì¬ÍÆËÍ¡¢App ÍÆËÍ¡¢Óû§×¢²á µÈ¡£

ÏûÏ¢¶ÓÁÐ Ò»°ã¶¼ÄÚÖÃÁË ¸ßЧµÄͨÐÅ»úÖÆ£¬Òò´ËÒ²¿ÉÒÔÓÃÓÚµ¥´¿µÄÏûϢͨѶ£¬±ÈÈçʵÏÖ µã¶ÔµãÏûÏ¢¶ÓÁÐ »òÕß ÁÄÌìÊÒ µÈ¡£

Ó¦Óð¸Àý

ÍøÕ¾Óû§×¢²á£¬×¢²á³É¹¦ºó»á¹ýÒ»»á·¢ËÍÓʼþÈ·ÈÏ»òÕß¶ÌÏ¢¡£

5.2. ϵͳ½âñî

ϵͳ֮¼ä²»ÊÇ Ç¿ñîºÏµÄ£¬ÏûÏ¢½ÓÊÜÕß ¿ÉÒÔËæÒâÔö¼Ó£¬¶ø²»ÐèÒªÐÞ¸Ä ÏûÏ¢·¢ËÍÕߵĴúÂë¡£ÏûÏ¢·¢ËÍÕß µÄ³É¹¦²»ÒÀÀµ ÏûÏ¢½ÓÊÜÕߣ¨±ÈÈ磺ÓÐÐ©ÒøÐнӿڲ»Îȶ¨£¬µ«µ÷Ó÷½²¢²»ÐèÒªÒÀÀµÕâЩ½Ó¿Ú£©¡£

²»Ç¿ÒÀÀµ ÓڷDZ¾ÏµÍ³µÄºËÐÄÁ÷³Ì£¬¶ÔÓÚ ·ÇºËÐÄÁ÷³Ì£¬¿ÉÒԷŵ½ÏûÏ¢¶ÓÁÐÖÐÈà ÏûÏ¢Ïû·ÑÕß È¥°´ÐèÏû·Ñ£¬¶ø ²»Ó°ÏìºËÐÄÖ÷Á÷³Ì¡£

5.3. ×îÖÕÒ»ÖÂÐÔ

×îÖÕÒ»ÖÂÐÔ ²»ÊÇ ÏûÏ¢¶ÓÁÐ µÄ±Ø±¸ÌØÐÔ£¬µ«È·Êµ¿ÉÒÔÒÀ¿¿ ÏûÏ¢¶ÓÁÐ À´×ö ×îÖÕÒ»ÖÂÐÔ µÄÊÂÇé¡£

ÏÈдÏûÏ¢ÔÙ²Ù×÷£¬È·±£²Ù×÷Íê³ÉºóÔÙÐÞ¸ÄÏûϢ״̬¡£¶¨Ê±ÈÎÎñ²¹³¥»úÖÆ ʵÏÖÏûÏ¢ ¿É¿¿·¢ËͽÓÊÕ¡¢ÒµÎñ²Ù×÷µÄ¿É¿¿Ö´ÐУ¬Òª×¢Òâ ÏûÏ¢ÖØ¸´ Óë ÃݵÈÉè¼Æ¡£

ËùÓв»±£Ö¤ 100% ²»¶ªÏûÏ¢ µÄÏûÏ¢¶ÓÁУ¬ÀíÂÛÉÏÎÞ·¨ÊµÏÖ ×îÖÕÒ»ÖÂÐÔ¡£

Ïñ Kafka Ò»ÀàµÄÉè¼Æ£¬ÔÚÉè¼Æ²ãÃæÉϾÍÓÐ ¶ªÏûÏ¢ µÄ¿ÉÄÜ£¨±ÈÈç ¶¨Ê±Ë¢ÅÌ£¬Èç¹ûµôµç¾Í»á¶ªÏûÏ¢£©¡£ÄÄÅÂÖ»¶ªÇ§·ÖÖ®Ò»µÄÏûÏ¢£¬ÒµÎñÒ²±ØÐëÓÃÆäËûµÄÊÖ¶ÎÀ´±£Ö¤½á¹ûÕýÈ·¡£

5.4. ¹ã²¥

Éú²úÕß/Ïû·ÑÕß Ä£Ê½£¬Ö»ÐèÒª¹ØÐÄÏûÏ¢ÊÇ·ñ ËÍ´ï¶ÓÁУ¬ÖÁÓÚË­Ï£Íû¶©ÔĺÍÐèÒªÏû·Ñ£¬ÊÇ ÏÂÓεÄÊÂÇ飬ÎÞÒɼ«´óµØ¼õÉÙÁË¿ª·¢ºÍÁªµ÷µÄ¹¤×÷Á¿¡£

5.5. Á÷Á¿Ï÷·åºÍÁ÷¿Ø

µ± ÉÏÏÂÓÎϵͳ ´¦ÀíÄÜÁ¦´æÔÚ²î¾àµÄʱºò£¬ÀûÓà ÏûÏ¢¶ÓÁÐ ×öÒ»¸öͨÓÃµÄ ¡°Â©¶·¡±£¬½øÐÐ ÏÞÁ÷¿ØÖÆ¡£ÔÚÏÂÓÎÓÐÄÜÁ¦´¦ÀíµÄʱºò£¬ÔÙ½øÐзַ¢¡£

¾Ù¸öÀý×Ó£ºÓû§ÔÚÖ§¸¶ÏµÍ³³É¹¦½áÕ˺󣬶©µ¥ÏµÍ³»áͨ¹ý¶ÌÐÅϵͳÏòÓû§ÍÆËͿ۷Ñ֪ͨ¡£ ¶ÌÐÅϵͳ ¿ÉÄÜÓÉÓÚ ¶Ì°åЧӦ£¬ËÙ¶È¿¨ÔÚ Íø¹Ø ÉÏ£¨Ã¿Ã뼸°Ù´ÎÇëÇ󣩣¬¸ú ǰ¶ËµÄ²¢·¢Á¿ ²»ÊÇÒ»¸öÊýÁ¿¼¶¡£ ÓÚÊÇ£¬¾ÍÔì³É Ö§¸¶ÏµÍ³ ºÍ ¶ÌÐÅϵͳ µÄ´¦ÀíÄÜÁ¦³öÏÖ²îÒ컯¡£

È»¶øÓû§ÍíÉϸö°ë·ÖÖÓ×óÓÒÊÕµ½¶ÌÐÅ£¬Ò»°ãÊDz»»áÓÐÌ«´óÎÊÌâµÄ¡£Èç¹ûûÓÐÏûÏ¢¶ÓÁУ¬Á½¸öϵͳ֮¼äͨ¹ý ЭÉÌ¡¢»¬¶¯´°¿Ú µÈ¸´Ôӵķ½°¸Ò²²»ÊÇ˵²»ÄÜʵÏÖ¡£µ« ϵͳ¸´ÔÓÐÔ Ö¸Êý¼¶Ôö³¤£¬ÊƱØÔÚ ÉÏÓÎ »òÕß ÏÂÓÎ ×ö ´æ´¢£¬²¢ÇÒÒª´¦Àí ¶¨Ê±¡¢ÓµÈû µÈһϵÁÐÎÊÌâ¡£¶øÇÒÿµ±ÓÐ ´¦ÀíÄÜÁ¦Óвî¾à µÄʱºò£¬¶¼ÐèÒª µ¥¶À ¿ª·¢Ò»Ì×Âß¼­À´Î¬»¤ÕâÌ×Âß¼­¡£

ËùÒÔ£¬ÀûÓÃÖмäϵͳת´¢Á½¸öϵͳµÄͨÐÅÄÚÈÝ£¬²¢ÔÚÏÂÓÎϵͳÓÐÄÜÁ¦´¦ÀíÕâЩÏûÏ¢µÄʱºò£¬ÔÙ´¦ÀíÕâЩÏûÏ¢£¬ÊÇÒ»Ì×Ïà¶Ô½ÏͨÓõķ½Ê½¡£

Ó¦Óð¸Àý

°ÑÏûÏ¢¶ÓÁе±³É¿É¿¿µÄ ÏûÏ¢ÔÝ´æµØ£¬½øÐÐÒ»¶¨³Ì¶ÈµÄ ÏûÏ¢¶Ñ»ý£»

¶¨Ê±½øÐÐÏûϢͶµÝ£¬±ÈÈçÄ£Äâ Óû§Ãëɱ ·ÃÎÊ£¬½øÐРϵͳÐÔÄÜѹ²â¡£

5.6. ÈÕÖ¾´¦Àí

½«ÏûÏ¢¶ÓÁÐÓÃÔÚ ÈÕÖ¾´¦Àí ÖУ¬±ÈÈç Kafka µÄÓ¦Ó㬽â¾ö º£Á¿ÈÕÖ¾ ´«ÊäºÍ»º³åµÄÎÊÌâ¡£

Ó¦Óð¸Àý

°ÑÈÕÖ¾½øÐм¯ÖÐÊÕ¼¯£¬ÓÃÓÚ¼ÆËã PV¡¢Óû§ÐÐΪ·ÖÎö µÈµÈ¡£

5.7. ÏûϢͨѶ

ÏûÏ¢¶ÓÁÐÒ»°ã¶¼ÄÚÖÃÁË ¸ßЧµÄͨÐÅ»úÖÆ£¬Òò´ËÒ²¿ÉÒÔÓÃÓÚµ¥´¿µÄ ÏûϢͨѶ£¬±ÈÈçʵÏÖ µã¶ÔµãÏûÏ¢¶ÓÁÐ »òÕß ÁÄÌìÊÒ µÈ¡£

6. ÏûÏ¢¶ÓÁеÄÍÆÀ­Ä£ÐÍ

6.1. PushÍÆÏûϢģÐÍ

ÏûÏ¢Éú²úÕß ½«ÏûÏ¢·¢Ë͸ø ÏûÏ¢¶ÓÁУ¬ÏûÏ¢¶ÓÁÐ ÓÖ½«ÏûÏ¢ÍÆ¸ø ÏûÏ¢Ïû·ÑÕß¡£

6.2. PullÀ­ÏûϢģÐÍ

Ïû·ÑÕß ÇëÇó ÏûÏ¢¶ÓÁÐ ½ÓÊÜÏûÏ¢£¬ÏûÏ¢Éú²úÕß ´Ó ÏûÏ¢¶ÓÁÐ ÖÐÀ­¸ÃÏûÏ¢¡£

6.3. Á½ÖÖÀàÐ͵ÄÇø±ð

7. ÏûÏ¢¶ÓÁм¼Êõ¶Ô±È

±¾²¿·ÖÖ÷Òª½éÉÜËÄÖÖ³£ÓõÄÏûÏ¢¶ÓÁУ¨ActiveMQ / RabbitMQ / RocketMQ / Kafka£©µÄÖ÷ÒªÌØÐÔ¡¢Óŵ㡢ȱµã¡£

7.1. ActiveMQ

ActiveMQ ÊÇÓÉ Apache ³öÆ·£¬ActiveMQ ÊÇÒ»¸öÍêȫ֧³ÖJMS1.1 ºÍ J2EE 1.4 ¹æ·¶µÄ JMS Provider ʵÏÖ¡£Ëü·Ç³£¿ìËÙ£¬Ö§³Ö ¶àÖÖÓïÑԵĿͻ§¶Ë ºÍ ЭÒ飬¶øÇÒ¿ÉÒԷdz£ÈÝÒ×µÄǶÈëµ½ÆóÒµµÄÓ¦Óû·¾³ÖУ¬²¢ÓÐÐí¶à¸ß¼¶¹¦ÄÜ¡£

(a) Ö÷ÒªÌØÐÔ

·þ´ÓJMS¹æ·¶£ºJMS ¹æ·¶ÌṩÁËÁ¼ºÃµÄ±ê×¼ºÍ±£Ö¤£¬°üÀ¨£ºÍ¬²½ »ò Òì²½ µÄÏûÏ¢·Ö·¢£¬Ò»´ÎºÍ½öÒ»´ÎµÄÏûÏ¢·Ö·¢£¬ÏûÏ¢½ÓÊÕ ºÍ ¶©ÔÄ µÈµÈ¡£×ñ´Ó JMS ¹æ·¶µÄºÃ´¦ÔÚÓÚ£¬²»ÂÛʹÓÃʲô JMS ʵÏÖÌṩÕߣ¬ÕâЩ»ù´¡ÌØÐÔ¶¼ÊÇ¿ÉÓõģ»

Á¬½ÓÁé»îÐÔ£ºActiveMQ ÌṩÁ˹㷺µÄ Á¬½ÓЭÒ飬֧³ÖµÄЭÒéÓУºHTTP/S£¬IP ¶à²¥£¬SSL£¬TCP£¬UDP µÈµÈ¡£¶ÔÖÚ¶àЭÒéµÄÖ§³ÖÈà ActiveMQ ÓµÓÐÁ˺ܺõÄÁé»îÐÔ£»

Ö§³ÖµÄЭÒéÖÖÀà¶à£ºOpenWire¡¢STOMP¡¢REST¡¢XMPP¡¢AMQP£»

³Ö¾Ã»¯²å¼þºÍ°²È«²å¼þ£ºActiveMQ ÌṩÁË ¶àÖֳ־û¯ Ñ¡Ôñ¡£¶øÇÒ£¬ActiveMQ µÄ°²È«ÐÔÒ²¿ÉÒÔÍêÈ«ÒÀ¾ÝÓû§ÐèÇó½øÐÐ ×Ô¶¨Òå¼øÈ¨ ºÍ ÊÚȨ£»

Ö§³ÖµÄ¿Í»§¶ËÓïÑÔÖÖÀà¶à£º³ýÁË Java Ö®Í⣬»¹ÓУºC/C++£¬.NET£¬Perl£¬PHP£¬Python£¬Ruby£»

´úÀí¼¯Èº£º¶à¸ö ActiveMQ ´úÀí ¿ÉÒÔ×é³ÉÒ»¸ö ¼¯Èº À´Ìṩ·þÎñ£»

Òì³£¼òµ¥µÄ¹ÜÀí£ºActiveMQ ÊÇÒÔ¿ª·¢Õß˼ά±»Éè¼ÆµÄ¡£ËùÒÔ£¬Ëü²¢²»ÐèҪרÃŵĹÜÀíÔ±£¬ÒòΪËüÌṩÁ˼òµ¥ÓÖʹÓõĹÜÀíÌØÐÔ¡£ÓкܶàÖз½·¨¿ÉÒÔ ¼à¿Ø ActiveMQ ²»Í¬²ãÃæµÄÊý¾Ý£¬°üÀ¨Ê¹ÓÃÔÚ JConsole »òÕßÔÚ ActiveMQ µÄ Web Console ÖÐʹÓà JMX¡£Í¨¹ý´¦Àí JMX µÄ¸æ¾¯ÏûÏ¢£¬Í¨¹ýʹÓà ÃüÁîÐнű¾£¬ÉõÖÁ¿ÉÒÔͨ¹ý¼à¿Ø¸÷ÖÖÀàÐ굀 ÈÕÖ¾¡£

(b) ²¿Êð»·¾³

ActiveMQ ¿ÉÒÔÔËÐÐÔÚ Java ÓïÑÔËùÖ§³ÖµÄƽ̨֮ÉÏ¡£Ê¹Óà ActiveMQ ÐèÒª£º

Java JDK

ActiveMQ °²×°°ü

(c) Óŵã

¿çƽ̨ (JAVA ±àдÓëÆ½Ì¨Î޹أ¬ActiveMQ ¼¸ºõ¿ÉÒÔÔËÐÐÔÚÈÎºÎµÄ JVM ÉÏ)£»

¿ÉÒÔÓà JDBC£º¿ÉÒÔ½« Êý¾Ý³Ö¾Ã»¯ µ½Êý¾Ý¿â¡£ËäȻʹÓà JDBC »á½µµÍ ActiveMQ µÄÐÔÄÜ£¬µ«ÊÇÊý¾Ý¿âÒ»Ö±¶¼ÊÇ¿ª·¢ÈËÔ±×îÊìϤµÄ´æ´¢½éÖÊ£»

Ö§³Ö JMS ¹æ·¶£ºÖ§³Ö JMS ¹æ·¶ÌṩµÄ ͳһ½Ó¿Ú;

Ö§³Ö ×Ô¶¯ÖØÁ¬ ºÍ ´íÎóÖØÊÔ»úÖÆ£»

Óа²È«»úÖÆ£ºÖ§³Ö»ùÓÚ shiro£¬jaas µÈ¶àÖÖ °²È«ÅäÖûúÖÆ£¬¿ÉÒÔ¶Ô Queue/Topic ½øÐÐ ÈÏÖ¤ºÍÊÚȨ£»

¼à¿ØÍêÉÆ£ºÓµÓÐÍêÉÆµÄ ¼à¿Ø£¬°üÀ¨ Web Console£¬JMX£¬Shell ÃüÁîÐУ¬Jolokia µÄ RESTful API£»

½çÃæÓÑÉÆ£ºÌṩµÄ Web Console ¿ÉÒÔÂú×ã´ó²¿·ÖÇé¿ö£¬»¹ÓÐºÜ¶à µÚÈý·½µÄ×é¼þ ¿ÉÒÔʹÓ㬱ÈÈç hawtio£»

(d) ȱµã

ÉçÇø»îÔ¾¶È²»¼° RabbitMQ ¸ß£»

¸ù¾ÝÆäËûÓû§·´À¡£¬»á³öĪÃûÆäÃîµÄÎÊÌ⣬»á ¶ªÊ§ÏûÏ¢£»

Ä¿Ç°ÖØÐķŵ½ activemq 6.0 ²úÆ· Apollo£¬¶Ô 5.x µÄά»¤½ÏÉÙ£»

²»ÊʺÏÓÃÓÚ ÉÏǧ¸ö¶ÓÁÐ µÄÓ¦Óó¡¾°£»

7.2. RabbitMQ

RabbitMQ ÓÚ 2007 Äê·¢²¼£¬ÊÇÒ»¸öÔÚ AMQP (¸ß¼¶ÏûÏ¢¶ÓÁÐЭÒé)»ù´¡ÉÏÍê³ÉµÄ£¬¿É¸´ÓÃµÄÆóÒµÏûϢϵͳ£¬Êǵ±Ç°×îÖ÷Á÷µÄÏûÏ¢Öмä¼þÖ®Ò»¡£

(a) Ö÷ÒªÌØÐÔ

¿É¿¿ÐÔ£ºÌṩÁ˶àÖÖ¼¼Êõ¿ÉÒÔÈÃÄãÔÚ ÐÔÄÜ ºÍ ¿É¿¿ÐÔ Ö®¼ä½øÐРȨºâ¡£ÕâЩ¼¼Êõ°üÀ¨ ³Ö¾ÃÐÔ»úÖÆ¡¢Í¶µÝÈ·ÈÏ¡¢·¢²¼Õß֤ʵ ºÍ ¸ß¿ÉÓÃÐÔ»úÖÆ£»

Áé»îµÄ·ÓÉ£ºÏûÏ¢ÔÚµ½´ï¶ÓÁÐǰÊÇͨ¹ý ½»»»»ú ½øÐР·ÓÉ µÄ¡£RabbitMQ ΪµäÐ͵Ä·ÓÉÂß¼­ÌṩÁË ¶àÖÖÄÚÖý»»»»ú ÀàÐÍ¡£Èç¹ûÄãÓиü¸´ÔӵķÓÉÐèÇ󣬿ÉÒÔ½«ÕâЩ½»»»»ú×éºÏÆðÀ´Ê¹Óã¬ÄãÉõÖÁ¿ÉÒÔʵÏÖ×Ô¼ºµÄ½»»»»úÀàÐÍ£¬²¢ÇÒµ±×ö RabbitMQ µÄ ²å¼þÀ´Ê¹Óã»

ÏûÏ¢¼¯Èº£ºÔÚÏàͬ¾ÖÓòÍøÖеĶà¸ö RabbitMQ ·þÎñÆ÷¿ÉÒÔ ¾ÛºÏ ÔÚÒ»Æð£¬×÷Ϊһ¸ö¶ÀÁ¢µÄÂß¼­´úÀíÀ´Ê¹Óã»

¶ÓÁи߿ÉÓ㺶ÓÁпÉÒÔÔÚ¼¯ÈºÖеĻúÆ÷ÉÏ ½øÐоµÏñ£¬ÒÔÈ·±£ÔÚÓ²¼þÎÊÌâÏ»¹±£Ö¤ ÏûÏ¢°²È«£»

Ö§³Ö¶àÖÖЭÒ飺֧³Ö ¶àÖÖÏûÏ¢¶ÓÁÐЭÒ飻

Ö§³Ö¶àÖÖÓïÑÔ£ºÓà Erlang ÓïÑÔ±àд£¬Ö§³ÖÖ»ÒªÊÇÄãÄÜÏëµ½µÄ ËùÓбà³ÌÓïÑÔ£»

¹ÜÀí½çÃæ£º RabbitMQ ÓÐÒ»¸öÒ×ÓÃµÄ Óû§½çÃæ£¬Ê¹µÃÓû§¿ÉÒÔ ¼à¿Ø ºÍ ¹ÜÀí ÏûÏ¢ Broker µÄÐí¶à·½Ã棻

¸ú×Ù»úÖÆ£ºÈç¹û ÏûÏ¢Òì³££¬RabbitMQ ÌṩÏûÏ¢¸ú×Ù»úÖÆ£¬Ê¹ÓÃÕß¿ÉÒÔÕÒ³ö·¢ÉúÁËʲô£»

²å¼þ»úÖÆ£ºÌṩÁËÐí¶à ²å¼þ£¬À´´Ó¶à·½Ãæ½øÐÐÀ©Õ¹£¬Ò²¿ÉÒÔ±àд×Ô¼ºµÄ²å¼þ¡£

(b) ²¿Êð»·¾³

RabbitMQ ¿ÉÒÔÔËÐÐÔÚ Erlang ÓïÑÔËùÖ§³ÖµÄƽ̨֮ÉÏ£¬°üÀ¨ Solaris£¬BSD£¬Linux£¬MacOSX£¬TRU64£¬Windows µÈ¡£Ê¹Óà RabbitMQ ÐèÒª£º

ErLang 

RabbitMQ °²×°°ü

(c) Óŵã

ÓÉÓÚ Erlang ÓïÑÔµÄÌØÐÔ£¬ÏûÏ¢¶ÓÁÐÐÔÄܽϺã¬Ö§³Ö ¸ß²¢·¢£»

½¡×³¡¢Îȶ¨¡¢Ò×Óᢿçƽ̨¡¢Ö§³Ö ¶àÖÖÓïÑÔ¡¢ÎĵµÆëÈ«£»

ÓÐÏûÏ¢ È·ÈÏ»úÖÆ ºÍ ³Ö¾Ã»¯»úÖÆ£¬¿É¿¿ÐԸߣ»

¸ß¶È¿É¶¨ÖÆµÄ Â·ÓÉ£»

¹ÜÀí½çÃæ ½Ï·á¸»£¬ÔÚ»¥ÁªÍø¹«Ë¾Ò²Óнϴó¹æÄ£µÄÓ¦Óã¬ÉçÇø»îÔ¾¶È¸ß¡£

(d) ȱµã

¾¡¹Ü½áºÏ Erlang ÓïÑÔ±¾ÉíµÄ²¢·¢ÓÅÊÆ£¬ÐÔÄܽϺ㬵«ÊDz»ÀûÓÚ×ö ¶þ´Î¿ª·¢ºÍά»¤£»

ʵÏÖÁË ´úÀí¼Ü¹¹£¬Òâζ×ÅÏûÏ¢ÔÚ·¢Ë͵½¿Í»§¶Ë֮ǰ¿ÉÒÔÔÚ ÖÐÑë½Úµã ÉÏÅŶӡ£´ËÌØÐÔʹµÃ RabbitMQ Ò×ÓÚʹÓúͲ¿Ê𣬵«ÊÇʹµÃÆä ÔËÐÐËٶȽÏÂý£¬ÒòΪÖÐÑë½Úµã Ôö¼ÓÁËÑÓ³Ù£¬ÏûÏ¢·â×°ºó Ò²±È½Ï´ó£»

ÐèҪѧϰ ±È½Ï¸´ÔÓ µÄ ½Ó¿ÚºÍЭÒ飬ѧϰºÍά»¤³É±¾½Ï¸ß¡£

7.3. RocketMQ

RocketMQ ³ö×Ô °¢Àï µÄ¿ªÔ´²úÆ·£¬Óà Java ÓïÑÔʵÏÖ£¬ÔÚÉè¼ÆÊ±²Î¿¼ÁË Kafka£¬²¢×ö³öÁË×Ô¼ºµÄһЩ¸Ä½ø£¬ÏûÏ¢¿É¿¿ÐÔÉÏ ±È Kafka ¸üºÃ¡£RocketMQ ÔÚ°¢ÀïÄÚ²¿±»¹ã·ºÓ¦ÓÃÔÚ ¶©µ¥£¬½»Ò×£¬³äÖµ£¬Á÷¼ÆË㣬ÏûÏ¢ÍÆËÍ£¬ÈÕÖ¾Á÷ʽ´¦Àí£¬binglog ·Ö·¢ µÈ³¡¾°¡£

(a) Ö÷ÒªÌØÐÔ

»ùÓÚ ¶ÓÁÐÄ£ÐÍ£º¾ßÓÐ ¸ßÐÔÄÜ¡¢¸ß¿É¿¿¡¢¸ßʵʱ¡¢·Ö²¼Ê½ µÈÌØµã£»

Producer¡¢Consumer¡¢¶ÓÁÐ ¶¼Ö§³Ö ·Ö²¼Ê½£»

Producer ÏòһЩ¶ÓÁÐÂÖÁ÷·¢ËÍÏûÏ¢£¬¶ÓÁм¯ºÏ ³ÆÎª Topic¡£Consumer Èç¹û×ö ¹ã²¥Ïû·Ñ£¬ÔòÒ»¸ö Consumer ʵÀýÏû·ÑÕâ¸ö Topic ¶ÔÓ¦µÄ ËùÓжÓÁУ»Èç¹û×ö ¼¯ÈºÏû·Ñ£¬Ôò ¶à¸ö Consumer ʵÀý ƽ¾ùÏû·Ñ Õâ¸ö Topic ¶ÔÓ¦µÄ¶ÓÁм¯ºÏ£»

Äܹ»±£Ö¤ ÑϸñµÄÏûϢ˳Ðò£»

Ìṩ·á¸»µÄ ÏûÏ¢À­È¡Ä£Ê½£»

¸ßЧµÄ¶©ÔÄÕß Ë®Æ½À©Õ¹ÄÜÁ¦£»

ʵʱ µÄ ÏûÏ¢¶©ÔÄ»úÖÆ£»

ÒÚ¼¶ ÏûÏ¢¶Ñ»ý ÄÜÁ¦£»

½ÏÉÙµÄÍⲿÒÀÀµ¡£

(b) ²¿Êð»·¾³

RocketMQ ¿ÉÒÔÔËÐÐÔÚ Java ÓïÑÔËùÖ§³ÖµÄƽ̨֮ÉÏ¡£Ê¹Óà RocketMQ ÐèÒª£º

Java JDK

°²×° git¡¢Maven

RocketMQ °²×°°ü

(c) Óŵã

µ¥»ú Ö§³Ö 1 ÍòÒÔÉÏ ³Ö¾Ã»¯¶ÓÁУ»

RocketMQ µÄËùÓÐÏûÏ¢¶¼ÊÇ ³Ö¾Ã»¯µÄ£¬ÏÈдÈëϵͳ PAGECACHE£¬È»ºó Ë¢ÅÌ£¬¿ÉÒÔ±£Ö¤ ÄÚ´æ Óë ´ÅÅÌ ¶¼ÓÐÒ»·ÝÊý¾Ý£¬¶ø ·ÃÎÊ Ê±£¬Ö±½Ó ´ÓÄÚ´æ¶ÁÈ¡¡£

Ä£Ðͼòµ¥£¬½Ó¿ÚÒ×Óã¨JMS µÄ½Ó¿ÚºÜ¶à³¡ºÏ²¢²»Ì«ÊµÓã©£»

ÐÔÄܷdz£ºÃ£¬¿ÉÒÔÔÊÐí ´óÁ¿¶Ñ»ýÏûÏ¢ ÔÚ Broker ÖУ»

Ö§³Ö ¶àÖÖÏû·Ñģʽ£¬°üÀ¨ ¼¯ÈºÏû·Ñ¡¢¹ã²¥Ïû·ÑµÈ£»

¸÷¸ö»·½Ú ·Ö²¼Ê½À©Õ¹Éè¼Æ£¬Ö§³Ö Ö÷´Ó ºÍ ¸ß¿ÉÓã»

¿ª·¢¶È½Ï»îÔ¾£¬°æ±¾¸üкܿ졣

(d) ȱµã

Ö§³ÖµÄ ¿Í»§¶ËÓïÑÔ ²»¶à£¬Ä¿Ç°ÊÇ Java ¼° C++£¬ÆäÖÐ C++ »¹²»³ÉÊ죻

RocketMQ ÉçÇø¹Ø×¢¶È¼°³ÉÊì¶ÈÒ²²»¼°Ç°Á½Õߣ»

ûÓÐ Web ¹ÜÀí½çÃæ£¬ÌṩÁËÒ»¸ö CLI (ÃüÁîÐнçÃæ) ¹ÜÀí¹¤¾ß´øÀ´ ²éѯ¡¢¹ÜÀí ºÍ Õï¶Ï¸÷ÖÖÎÊÌ⣻

ûÓÐÔÚ MQ ºËÐÄÀïʵÏÖ JMS µÈ½Ó¿Ú£»

7.4. Kafka

Apache Kafka ÊÇÒ»¸ö ·Ö²¼Ê½ÏûÏ¢·¢²¼¶©ÔÄ ÏµÍ³¡£Ëü×î³õÓÉ LinkedIn ¹«Ë¾»ùÓÚ¶ÀÌØµÄÉè¼ÆÊµÏÖΪһ¸ö ·Ö²¼Ê½µÄÈÕÖ¾Ìύϵͳ (a distributed commit log)£¬Ö®ºó³ÉΪ Apache ÏîÄ¿µÄÒ»²¿·Ö¡£Kafka ÐÔÄܸßЧ¡¢¿ÉÀ©Õ¹Á¼ºÃ ²¢ÇÒ ¿É³Ö¾Ã»¯¡£ËüµÄ ·ÖÇøÌØÐÔ£¬¿É¸´ÖÆ ºÍ ¿ÉÈÝ´í ¶¼ÊÇÆä²»´íµÄÌØÐÔ¡£

(a) Ö÷ÒªÌØÐÔ

¿ìËٳ־û¯£º¿ÉÒÔÔÚ O(1) µÄϵͳ¿ªÏúϽøÐÐ ÏûÏ¢³Ö¾Ã»¯£»

¸ßÍÌÍ£ºÔÚһ̨ÆÕͨµÄ·þÎñÆ÷ÉϼȿÉÒÔ´ïµ½ 10W/s µÄ ÍÌÍÂËÙÂÊ£»

ÍêÈ«µÄ·Ö²¼Ê½ÏµÍ³£ºBroker¡¢Producer ºÍ Consumer ¶¼Ô­Éú×Ô¶¯Ö§³Ö ·Ö²¼Ê½£¬×Ô¶¯ÊµÏÖ ¸ºÔؾùºâ£»

Ö§³Ö ͬ²½ ºÍ Òì²½ ¸´ÖÆÁ½ÖÖ ¸ß¿ÉÓûúÖÆ£»

Ö§³Ö Êý¾ÝÅúÁ¿·¢ËÍ ºÍ À­È¡£»

Á㿽±´¼¼Êõ(zero-copy)£º¼õÉÙ IO ²Ù×÷²½Ö裬Ìá¸ß ϵͳÍÌÍÂÁ¿£»

Êý¾ÝÇ¨ÒÆ¡¢À©ÈÝ ¶ÔÓû§Í¸Ã÷£»

ÎÞÐèÍ£»ú ¼´¿ÉÀ©Õ¹»úÆ÷£»

ÆäËûÌØÐÔ£º·á¸»µÄ ÏûÏ¢À­È¡Ä£ÐÍ¡¢¸ßЧ ¶©ÔÄÕßˮƽÀ©Õ¹¡¢ÊµÊ±µÄ ÏûÏ¢¶©ÔÄ¡¢ÒÚ¼¶µÄ ÏûÏ¢¶Ñ»ýÄÜÁ¦¡¢¶¨ÆÚɾ³ý»úÖÆ£»

(b) ²¿Êð»·¾³

ʹÓà Kafka ÐèÒª£º

Java JDK

Kafka °²×°°ü

(c) Óŵã

¿Í»§¶ËÓïÑԷḻ£ºÖ§³Ö Java¡¢.Net¡¢PHP¡¢Ruby¡¢Python¡¢Go µÈ¶àÖÖÓïÑÔ£»

¸ßÐÔÄÜ£ºµ¥»úдÈë TPS Ô¼ÔÚ 100 ÍòÌõ/Ã룬ÏûÏ¢´óС 10 ¸ö×Ö½Ú£»

Ìṩ ÍêÈ«·Ö²¼Ê½¼Ü¹¹£¬²¢ÓÐ replica »úÖÆ£¬ÓµÓÐ½Ï¸ßµÄ ¿ÉÓÃÐÔ ºÍ ¿É¿¿ÐÔ£¬ÀíÂÛÉÏÖ§³Ö ÏûÏ¢ÎÞÏÞ¶Ñ»ý£»

Ö§³ÖÅúÁ¿²Ù×÷£»

Ïû·ÑÕß ²ÉÓà Pull ·½Ê½»ñÈ¡ÏûÏ¢¡£ÏûÏ¢ÓÐÐò£¬Í¨¹ý¿ØÖÆ Äܹ»±£Ö¤ËùÓÐÏûÏ¢±»Ïû·ÑÇÒ½ö±»Ïû·Ñ Ò»´Î£»

ÓÐÓÅÐãµÄµÚÈý·½ Kafka Web ¹ÜÀí½çÃæ Kafka-Manager£»

ÔÚ ÈÕÖ¾ÁìÓò ±È½Ï³ÉÊ죬±»¶à¼Ò¹«Ë¾ºÍ¶à¸ö¿ªÔ´ÏîĿʹÓá£

(d) ȱµã

Kafka µ¥»ú³¬¹ý 64 ¸ö ¶ÓÁÐ/·ÖÇø ʱ£¬Load ʱ»á·¢ÉúÃ÷ÏÔµÄì­¸ßÏÖÏó¡£¶ÓÁÐ Ô½¶à£¬¸ºÔØ Ô½¸ß£¬·¢ËÍÏûÏ¢ ÏìӦʱ¼ä±ä³¤£»

ʹÓà ¶ÌÂÖѯ·½Ê½£¬ÊµÊ±ÐÔ È¡¾öÓÚ ÂÖѯ¼ä¸ôʱ¼ä£»

Ïû·Ñʧ°Ü ²»Ö§³ÖÖØÊÔ£»

Ö§³Ö ÏûϢ˳Ðò£¬µ«ÊÇ Ò»Ì¨´úÀíå´»ú ºó£¬¾Í»á²úÉú ÏûÏ¢ÂÒÐò£»

ÉçÇø¸üнÏÂý¡£

7.5. ¼¸ÖÖÏûÏ¢¶ÓÁжԱÈ

ÕâÀïÁоÙÁËÉÏÊöËÄÖÖÏûÏ¢¶ÓÁеIJîÒì¶Ô±È£º

Kafka ÔÚÓÚ ·Ö²¼Ê½¼Ü¹¹£¬RabbitMQ »ùÓÚ AMQP ЭÒé À´ÊµÏÖ£¬RocketMQ µÄ˼·À´Ô´ÓÚ Kafka£¬¸Ä³ÉÁË Ö÷´Ó½á¹¹£¬ÔÚ ÊÂÎñÐÔ ºÍ ¿É¿¿ÐÔ ·½Ãæ×öÁËÓÅ»¯¡£¹ã·ºÀ´Ëµ£¬µçÉÌ¡¢½ðÈÚ µÈ¶Ô ÊÂÎñÒ»ÖÂÐÔ ÒªÇóºÜ¸ßµÄ£¬¿ÉÒÔ¿¼ÂÇ RabbitMQ ºÍ RocketMQ£¬¶Ô ÐÔÄÜÒªÇó¸ß µÄ¿É¿¼ÂÇ Kafka¡£

С½á

±¾ÎĽéÉÜÁËÏûÏ¢¶ÓÁеÄÌØµã£¬ÏûÏ¢¶ÓÁÐµÄ ´«µÝ·þÎñÄ£ÐÍ£¬ÏûÏ¢µÄ ´«Ê䷽ʽ£¬ÏûÏ¢µÄ ÍÆÀ­Ä£Ê½¡£È»ºó½éÉÜÁË ActiveMQ£¬RabbitMQ£¬RocketMQ ºÍ Kafka ¼¸ÖÖ³£¼ûµÄÏûÏ¢¶ÓÁУ¬²ûÊöÁË ¸÷ÖÖÏûÏ¢¶ÓÁÐ µÄ Ö÷ÒªÌØµã ºÍ ÓÅȱµã¡£

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

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

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

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