±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcnblogs£¬ÎÄÕ¶Իù±¾½éÉÜÓë×é¼þ¼Ü¹¹Í¼¡¢ÏûÏ¢Á÷ת¼Ü¹¹Í¼¡¢¿çÖÐÐÄÏûϢʱÐòͼ¡¢
¸ß¿ÉÓã¨Ö÷´Ó£©Óë¸ºÔØ¾ùºâ¼Ü¹¹Í¼¡¢ÏûÏ¢¶ÓÁÐ×é¼þActiveMQÅäÖõÈ×öÁËÏêϸµÄ½²½â¡£
|
|
1. »ù±¾½éÉÜÓë×é¼þ¼Ü¹¹Í¼
ά»ù°Ù¿Æ¶ÔÏûÏ¢Öмä¼þµÄ¶¨ÒåÊÇ¡°Message-oriented Middleware is software
infrastructure focused on sending and receiving messages
between distributed system¡£¡±·Ö²¼Ê½ÏµÍ³ÖÐʵÏÖÏûÏ¢·¢ËͺͽÓÊܵĻù´¡ÉèÊ©¡£
Ëæ×ÅÆóÒµÐÅÏ¢»¯½¨ÉèµÄ²»¶ÏÉîÈë¡£¶àÖÖÒµÎñÓ¦ÓÃÏ໥¹ØÁª£¬easyÔì³Éµ×²ãÊý¾Ý·ÖÉ¢£¬Ó¦ÓÃϵͳ¼äµÄñîºÏ¶È¸ß¡£Õë¶Ô¸ÃÎÊÌâÓ¦´Ó×ÜÌåÉϵ÷ÕûÑÛÏÂϵͳ¼Ü¹¹¡£ÃæÏò²»Í¬ÒµÎñÓ¦ÓÃÌṩͳһµÄÊý¾ÝÔLÎÊ·þÎñ£¬Ê¹ÓÃÏûÏ¢Öмä¼þ¶Ô²»Í¬ÏµÍ³¼äµÄ½»»¥½øÐнâñÏûÏ¢Öмä¼þ¼¼ÊõÓÐÁ½¸öºËÐŦÄÜ£ºÒì²½ºÍ½âñî¡£ÕâÁ½¸öºËÐŦÄÜ×ÜÌåÉÏÌá¸ßÁËÓ¦ÓÃϵͳµÄ¹¤×÷ЧÂÊ£¬ÔöÇ¿ÁËϵͳµÄ¿ÉÓÃÐÔ¡¢Îȶ¨ÐԺͿÉÀ©Õ¹ÐÔ¡£ÌáÉýÁËÓû§ÌåÑé¡£
ʹÓÃOneMMÏûÏ¢Öмä¼þϵͳÄܹ»ÊµÏÖÓ¦ÓÃϵͳ¸÷Ä£¿é¼ä»òÓ¦ÓÃϵͳÓëÆäËüϵͳ£¨ÈçERPϵͳ¡¢Ö§¸¶ÏµÍ³£©Ö®¼äµÄ½âñîÓëÒì²½ÏûÏ¢´«Êä¡£¸Ä±äÖ±½Óͨ¹ýÊý¾Ý¿â¹²Ïí·½Ê½½»»»Êý¾Ý£¬Ôì³Éϵͳ֮¼äµ×²ãÊý¾ÝñîºÏ¶È¹ý¸ßÎÊÌâÒÔ¼°Ô¶³Ì¿çµØÓòÓ¦ÓÃϵͳµÄÊý¾Ý½»»»ÎÊÌâ¡£
OneMMϵͳ×é¼þÂß¼¼Ü¹¹Í¼ÀýÈçÒÔÏ£º

ÏûÏ¢Öмä¼þ¼Ü¹¹Ö÷Òª×é¼þ˵Ã÷£º
£¨1£©ÏûÏ¢·¢ËÍ×é¼þ£º½ÓÊÕÓ¦ÓÃserver·¢ÆðµÄÍâϵͳµ÷ÓÃÇëÇó¡£²¢½«ÇëÇóÏûÏ¢·¢Ë͵½±¾µØÏûÏ¢¶ÓÁлò¿çÖÐÐÄÏûÏ¢¶ÓÁУ»
£¨2£©ÏûÏ¢½ÓÊÕ×é¼þ£º½ÓÊÕ±¾µØÏûÏ¢¶ÓÁлò¿çÖÐÐÄÏûÏ¢¶ÓÁÐÖеÄÇëÇóÏûÏ¢£¬²¢µ÷ÓÃÍâϵͳÌṩµÄÒµÎñ½Ó¿Ú£»
£¨3£©ÏûϢת·¢×é¼þ£ºÏûϢת·¢Æ÷°ïÖú¿çÖÐÐÄÓ¦ÓýøÐÐÏûϢת·¢£¬ÈçͼÖеÄÖÐÐÄ1ºÍÖÐÐÄ2Ö®¼ä¡£Ó¦ÓÃÄܹ»Í¨¹ýÏûϢת·¢Æ÷½øÐÐÏûÏ¢»¥·¢¡£
£¨4£©ÏûÏ¢´úÀí×é¼þ£ºÏûÏ¢´úÀí×é¼þÖ÷Òª¸ºÔð½ÓÊÕ¿çÖÐÐÄÏûÏ¢£¬²¢½«¿çÖÐÐÄÏûÏ¢ÒÀ¾ÝÏà¹Ø…¢Êý·¢Ë͵½ÏÂͼÖÐÐÄ1µÄ¡°ÇëÇó´¦Àí½á¹ûTopic¶©ÔÄÏûÏ¢¶ÓÁС°»ò·Ö·¢µ½ÖÐÐÄ2µÄÏà¹ØÏêϸҵÎñ¶ÓÁУ»
£¨5£©¶ÓÁйÜÀí×é¼þ£ºÅäÖùÜÀí²»Í¬ÖÐÐÄϵÄËùÓÐÏûÏ¢¶ÓÁС£¼°Ïà¹Øµ÷Óýӿڡ£
£¨6£©ÏûÏ¢¶ÓÁÐ×é¼þ£ºÌṩÏûÏ¢¶ÓÁд´½¨¡¢Ïú»ÙµÈ¶ÓÁвÙ×÷¼°¹ÜÀí¹¦ÄÜ¡£¼Ü¹¹Ê¹ÓÃActiveMQ¿ªÔ´ÏûÏ¢¶ÓÁй¤¾ß¡£
£¨7£©ÏûÏ¢»º´æ×é¼þ£º±¾µØ»ò¿çÖÐÐÄÒì²½ÏûϢͨ¹ýRedis»º´æ×é¼þ»ñµÃ·µ»Ø½á¹ûÏû
2. ÏûÏ¢Á÷ת¼Ü¹¹Í¼
2.1ͬ²½ÏûÏ¢Á÷ת¼Ü¹¹£ºÏûÏ¢·¢ËÍ×é¼þ´´½¨»á»°·¢³öÒì²½ÏûÏ¢ºó£¬Í¬²½Á÷³Ì»á»°Ñ»·½ÓÊÕTopicÏûÏ¢»Ø¸´¶©ÔĶÓÁеĹ㲥ÏûÏ¢£¬Í¨¹ý»á»°Î¨Ò»±êÊ¶ÍÆ¶ÏÊÇ·ñΪ¸Ã»á»°µÄ½á¹ûÏûÏ¢¡£Êǵϰ·µ»Ø¸øÓ¦Ó㬷ñÔòºöÂÔ¸ÃÏûÏ¢£¬³¬Ê±ºóÖ±½Ó·µ»Ø³¬Ê±¡£Í¬²½ÏûÏ¢Á÷ת¼Ü¹¹Í¼ÀýÈçÒÔÏ£º

2.2Òì²½ÏûÏ¢Á÷ת¼Ü¹¹£º±¾µØ»ò¿çÖÐÐÄÒì²½ÏûϢͨ¹ýRedis»º´æ×é¼þ»ñµÃ·µ»Ø½á¹ûÏûÏ¢¡£Òì²½ÏûÏ¢½á¹û£¬Í¨¹ýн¨»á»°·µ»Ø¡£Éú²úÕß·¢ËÍÏûÏ¢ºó¹Ø±Õ»á»°£¬ÎÞÐèµÈ´ý¡£
ȫȻµÄÒì²½Á÷³ÌÎÞÐè·µ»Ø½á¹ûÏûÏ¢¡£Óû§Í¨¹ý·¢Æð²éѯÇëÇóͨ¹ý»º´æ»ò±¾µØÏµÍ³Êý¾Ý¿â»ñµÃ½á¹û¡£
¿ÉÊÇÔÚijЩÏîĿʵ¼ÊʹÓÃÖУ¬Òì²½»á»°²»»áÂíÉϹرնøÊǵȴý½á¹û¡£±»µ÷ÓÃÕßÔËÐÐÇëÇóºó½«½á¹ûÒÀÕÕÒì²½ÏûÏ¢·¢ËÍÁ÷³ÌÖ÷¶¯·¢ËÍ»ØÈ¥¡£»á»°Í¨¹ýÂÖѯRedis½á¹û»º´æ£¬ÒÀ¾ÝSessionΨһ±êʶ·ûÍÆ¶ÏÊÇ·ñ´æÔڸûỰµÄ·µ»Ø½á¹û£¬»ñµÃ½á¹ûºó½«½á¹û·µ»Ø¸øÇëÇ󷢯ðÕß¡£
Òì²½µÄÌØµãÊDZ»µ÷ÓÃÕßÖ÷¶¯»ñÈ¡ÏûÏ¢¡£²¢Ö÷¶¯Í¨¹ýÆäËü¶ÓÁз¢Ëͽá¹ûÏûÏ¢¡£Õâʱ±»µ÷ÓÃÕßÄܹ»ÒÀ¾Ý×Ô¼ºµÄ״̬ºÍ´¦ÀíÇé¿öÍÆ¶ÏÊÇ·ñ£¨¼°ÔõÑù£©»ñÈ¡ÏûÏ¢¡£ÊÇ·ñ£¨¼°ÔõÑù£©ÔËÐвÙ×÷²¢·µ»Ø½á¹û¡£±»µ÷ÓÃÕßÄܹ»×ÔÐоö¶¨¸ÃÔõÑù²Ù×÷£¬±È·½Äܹ»Åú´¦Àí¡£
Òò´Ë¶ÔÓÚ²¢·¢´¦ÀíÄÜÁ¦½ÏÈõµÄÓ¦Ó㨱»µ÷ÓÃÕߣ©Ó¦’ñÓÃÒì²½·½Ê½Ö÷¶¯½ÓÊÕÏûÏ¢¡£²¢Ö÷¶¯´´½¨»á»°·µ»Ø´¦Àí½á¹ûÏûÏ¢£¬²¢ÒÀ¾Ýʵ¼ÊÇé¿ö¾ö¶¨ÔõÑù´¦Àí¼°·µ»Ø½á¹û£¨±È·½¿É’ñÓÃÅú´¦Àí¼°·µ»ØµÄ·½Ê½£©£¬Ö®ºóÇëÇ󷢯ðÕßͨ¹ýн¨»á»°ÔÚ±¾µØ»º´æ»ò±¾µØÊý¾Ý¿âÖлñÈ¡·µ»Ø½á¹û£¬ÕæÕýʵÏÖÓ¦ÓüäµÄ½âñî¡£
Òì²½ÏûÏ¢Á÷ת¼Ü¹¹Í¼ÀýÈçÒÔÏ£º

3. ¿çÖÐÐÄÏûϢʱÐòͼ
3.1¿çÖÐÐÄÒì²½ÏûÏ¢´¦ÀíʱÐòͼһ
Òì²½ÏûÏ¢½á¹û£¬Í¨¹ýн¨»á»°·µ»Ø¡£
Éú²úÕß·¢ËÍÏûÏ¢ºó¹Ø±Õ»á»°£¬ÎÞÐèµÈ´ý¡£È«È»µÄÒì²½Á÷³ÌÎÞÐè·µ»Ø½á¹ûÏûÏ¢¡£Óû§Í¨¹ý·¢ÆðеIJéѯÇëÇó¡£Í¨¹ý±¾µØ»º´æ»ò±¾µØÊý¾Ý¿â»ñµÃ½á¹û¡£

3.2¿çÖÐÐÄÒì²½ÏûÏ¢´¦ÀíʱÐòͼ¶þ
ÔÚijЩÏîĿʵ¼ÊʹÓÃÖУ¬Òì²½»á»°²»»áÂíÉϹرնøÊǵȴý½á¹û£¬±»µ÷ÓÃÕßÔËÐÐÇëÇóºó½«½á¹ûÒÀÕÕÒì²½ÏûÏ¢·¢ËÍÁ÷³ÌÖ÷¶¯·¢ËÍ»ØÈ¥¡£»á»°Í¨¹ýÂÖѯRedis½á¹û»º´æ¡£ÒÀ¾ÝSessionΨһ±êʶ·ûÍÆ¶ÏÊÇ·ñ´æÔڸûỰµÄ·µ»Ø½á¹û£¬»ñµÃ½á¹ûºó½«½á¹û·µ»Ø¸øÇëÇ󷢯ðÕß¡£Òì²½µÄÌØµãÊDZ»µ÷ÓÃÕßÖ÷¶¯»ñÈ¡ÏûÏ¢¡£²¢Ö÷¶¯Í¨¹ýÆäËü¶ÓÁз¢Ëͽá¹ûÏûÏ¢¡£Õâʱ±»µ÷ÓÃÕßÄܹ»ÒÀ¾Ý×Ô¼ºµÄ״̬ºÍ´¦ÀíÇé¿öÍÆ¶ÏÊÇ·ñ£¨¼°ÔõÑù£©»ñÈ¡ÏûÏ¢¡£ÊÇ·ñ£¨¼°ÔõÑù£©ÔËÐвÙ×÷²¢·µ»Ø½á¹û£¬±»µ÷ÓÃÕßÄܹ»×ÔÐоö¶¨¸ÃÔõÑù²Ù×÷¡£±È·½Äܹ»Åú´¦Àí¡£Òò´Ë²¢·¢´¦ÀíÄÜÁ¦½ÏÈõµÄÓ¦ÓÃÓ¦’ñÓøÃÒì²½·½Ê½Ö÷¶¯´¦ÀíÏûÏ¢¡£¶øÇÒÇëÇ󷢯ðÕßͨ¹ýн¨»á»°ÔÚ±¾µØ»º´æ»ò±¾µØÊý¾Ý¿âÖлñÈ¡½á¹û£¬ÕæÕýʵÏÖÓ¦ÓüäµÄ½âñî¡£

3.3¿çÖÐÐÄͬ²½ÏûÏ¢´¦ÀíʱÐòͼһ
»á»°·¢³öÒì²½ÏûÏ¢ºó£¬»á»°¶ÂÈû£¬Ñ»·½ÓÊÕTopic Response ¶ÓÁеĹ㲥ÏûÏ¢¡£Í¨¹ýSession
Ψһ±êʶ·ûÍÆ¶Ïÿ´ÎÊÕµ½µÄTopic¶©ÔÄÏûÏ¢ÊÇ·ñΪ¸Ã»á»°µÄÇëÇó½á¹ûÏûÏ¢£¬Êǵϰ·µ»Ø¸øÓ¦Ó㬷ñÔòºöÂÔ¸ÃÏûÏ¢£¬¼ÌÐøÑ»·½ÓÊչ㲥£¬³¬Ê±ºóÖ±½Ó·µ»Ø³¬Ê±¡£
TopicÏûÏ¢²¢²»»áÓÉÓÚµÚÒ»¸öÏûϢûÓб»´¦Àí¶ø·¢Éú¶ÂÈû¡£
ȫȻµÄÒì²½Á÷³ÌÎÞÐè·µ»Ø½á¹ûÏûÏ¢¡£Óû§Í¨¹ý·¢Æð²éѯ¡£Í¨¹ý±¾µØ»º´æ»ò±¾µØÊý¾Ý¿â»ñµÃ½á¹û£»¶ø¿çÖÐÐÄͬ²½Òì²½»¯´¦ÀíÁ÷³ÌÐëÒªµÃµ½Íâϵͳ´¦Àí½á¹û¡£

3.4¿çÖÐÐÄͬ²½ÏûÏ¢´¦ÀíʱÐòͼ¶þ£¨Ê¹ÓÃÔÝʱ¶ÓÁУ©
ͬ²½ÏûÏ¢½á¹û¡£Í¨¹ýÔÝʱ¶ÓÁÐÔÚÒ»´Î»á»°Öзµ»Ø¡£ÔÝʱ¶ÓÁÐÖнö½ö±£´æ±¾´Î»á»°ÖеÄÏûÏ¢¡£Éú²úÕßÐè±£³Ö»á»°£¬µÈ´ý½á¹û·µ»Ø¡£

4. ¸ß¿ÉÓã¨Ö÷´Ó£©Óë¸ºÔØ¾ùºâ¼Ü¹¹Í¼
ÏûÏ¢·¢ËÍÖеĽÓÊÕTopic¶©ÔĽá¹ûÏûÏ¢¶ÓÁÐURLµØÖ·¡¢ÏûÏ¢½ÓÊÕ¶ÓÁÐURLµØÖ·¡¢ÏûÏ¢´úÀíµÄ·¢ËÍÓë½ÓÊÕ¶ÓÁÐURLµØÖ·ÒÔ¼°ÏûϢת·¢Æ÷·¢Ë͵ÄTopic½á¹ûÏûÏ¢¶ÓÁÐURLµØÖ·£¬¾ùÐèÉèÖÃΪFailover
µØÖ·¡£
ÓÉÓÚÏûÏ¢¶ÓÁÐ×é¼þActiveMQÊÇÉèÖÃΪÖ÷´ÓµÄ£¬Òò´Ë²»ÂÛʲô×é¼þÁ¬½ÓÏûÏ¢¶ÓÁеÄURLµØÖ·¾ùÐèÅäÖÃΪÖ÷´ÓFailoverµØÖ·¡£

<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost" dataDirectory="${activemq.data}"
advisorySupport="false"> |
5. ÏûÏ¢¶ÓÁÐ×é¼þActiveMQÅäÖÃ
ͨ¹ý¸Ä¶¯ÏûÏ¢¶ÓÁÐ×é¼þActiveMQµÄÅäÖÃÎļþactivemq.xml¡£ÒÔ¡°Ð§ÂÊÓÅÏÈ¡±µÄÔÔòµ÷ÕûÏà¹Ø…¢Êý¡£ÅäÖÃ˵Ã÷ÀýÈçÒÔÏ£º
5.1 ActiveMQÏûϢ֪ͨÅäÖÃ
ÏûϢ֪ͨʵÏÖÁËActiveMQµÄBrokerÉϸ÷ÖÖ²Ù×÷µÄ¼Ç¼¸ú×ÙºÍ֪ͨ¡£¿ÉÊÇÔÚʹÓÃÔÝʱ¶ÓÁÐʵÏÖͬ²½ÏûϢʱÎÒÃÇ·¢ÏÖActiveMQ²úÉúÁË´óÁ¿advisory֪ͨÏûÏ¢£¬¶øÇÒÕâЩÏûÏ¢ÖØ¸´ÔÚÍøÂçÖд«Êä¡£ÕâÓпÉÄÜÓëActiveMQ
ͬ²½ÏûÏ¢ACK»úÖÆÓйء£

È¡ÏûÏûϢ֪ͨµÄÅäÖ÷½·¨£¬ÔÚÅäÖÃÎļþÀïÌí¼ÓÀýÈçÒÔÏÂÅäÖãº
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost" dataDirectory="${activemq.data}"
advisorySupport="false"> |
5.2ɾ³ý²»»î¶¯µÄ¶ÓÁÐÅäÖÃ
ActiveMQµÄQueueÔÚ²»Ê¹ÓÃÖ®ºó£¬Äܹ»Í¨¹ýweb¿ØÖÆÌ¨»òÊÇJMX·½Ê½À´É¾³ýµô¡£
Ò²Äܹ»Í¨¹ýÅäÖá£Ê¹µÃBrokerÄܹ»×Ô¼ºÖ÷¶¯Ì½œyµ½Ã»ÓõĶÓÁУ¨Ò»¶¨Ê±¼äÄÚΪ¿ÕµÄ¶ÓÁУ©²¢É¾³ýµô£¬»ØÊÕÏìÓ¦×ÊÔ´¡£ÒòΪActiveMQʹÓÃʱ×Ô¼ºÖ÷¶¯´´½¨Destination¡£¶øÇÒĬÈÏÇé¿öϲ»»áɾ³ýµô¡£ÕâÑùµÄ½ö½öÌí¼Ó²»½µµÍ¡£µ¼ÖÂÔÚqueue´´½¨Æµ·±µÄÇé¿öÏ£¬±¾¹¦ÄܺÜʵÓá£
ÅäÖÃÀýÈçÒÔÏ£º
<broker xmlns="http://activemq.apache.org/schema/core"
schedulePeriodForDestinationPurge="10000"
advisorySupport="false"> <destinationPolicy>
<policyMap> <policyEntries>
<policyEntry queue=">" gcInactiveDestinations="true"
inactiveTimoutBeforeGC="10000"/>
</policyEntries> </policyMap>
</destinationPolicy>
</broker> |
…¢Êý˵Ã÷£º
1£© schedulePeriodForDestinationPurge£º10000 ÿʮÃë¼ì²éÒ»´Î£¬
Ĭ¾õµÃ0£¬´Ë¹¦ÄܹرÕ
2£© gcInactiveDestinations£ºtrue ɾ³ýµô²»»î¶¯¶ÓÁС£Ä¬¾õµÃfalse
3£© inactiveTimoutBeforeGC£º30000 ²»»î¶¯30Ãëºóɾ³ý£¬Ä¬¾õµÃ60Ãë
5.3ËÀÐŶÓÁÐÅäÖÃ
DLQ-ËÀÐŶÓÁÐ(Dead Letter Queue)ÓÃÀ´±£´æ´¦Àíʧ°Ü»òÕß¹ýÆÚµÄÏûÏ¢¡£³öÏÖÏÂÃæÇé¿öʱ£¬ÏûÏ¢»á±»ÔÙͶµÝ
1£©A transacted session is used and rollback() is
called.
2£©A transacted session is closed before commit is
called.
3£©A session is using CLIENT_ACKNOWLEDGE and Session.recover()
is called.
µ±Ò»¸öÏûÏ¢±»redelivered³¬¹ýmaximumRedeliveries£¨È±Ê¡Îª6´Î£©´ÎÊýʱ£¬»á¸øbroker·¢ËÍÒ»¸ö"Poison
ack"¡£Õâ¸öÏûÏ¢±»¾õµÃÊÇa poison pill£¬Õâʱbroker»á½«Õâ¸öÏûÏ¢·¢Ë͵½DLQ£¬ÒÔ±ãÐËÐí´¦Àí¡£
ȱʡµÄËÀÐŶÓÁÐÊÇActiveMQ.DLQ¡£¼ÙÉèûÓÐÌØ±ðÖ¸¶¨¡£ËÀÐŶ¼»á±»·¢Ë͵½Õâ¸ö¶ÓÁС£È±Ê¡³Ö¾ÃÏûÏ¢¹ýÆÚ£¬»á±»Ë͵½DLQ£¬·Ç³Ö¾ÃÏûÏ¢²»»áË͵½DLQ
ȱʡȫ²¿¶ÓÁеÄËÀÐÅÏûÏ¢¶¼±»·¢Ë͵½Í¬Ò»¸öȱʡËÀÐŶÓÁÐ(ActiveMQ.DLQ)¡£²»±ãÓÚ¹ÜÀí¡£Äܹ»Í¨¹ýindividualDeadLetterStrategy»òsharedDeadLetterStrategy²ßÂÔÀ´½øÐи͝¡£
Éú²ú»·¾³µÄÅäÖÃÀýÈçÒÔÏ£º
<policyEntry
queue=">"> <deadLetterStrategy>
<!-- Use the prefix 'DLQ.' for the destination
name, and make
the DLQ a queue rather than a topic -->
<individualDeadLetterStrategy queuePrefix="DLQ."
useQueueForQueueMessages="true" />
</deadLetterStrategy>
</policyEntry> |
queuePrefix:ÉèÖÃËÀÐŶÓÁÐǰ׺
useQueueForQueueMessages: ÉèÖÃʹÓöÓÁб£´æËÀÐÅ¡£»¹Äܹ»ÉèÖÃuseQueueForTopicMessages£¬Ê¹ÓÃTopicÀ´±£´æËÀÐÅ
5.4 ÏûÏ¢¶ÓÁÐÊý¹ý¶àÎÊÌâ
ĬÈϵÄÏûÏ¢¶ÓÁÐÅäÖÃÖÐʹÓÃÒ»¸ö¶ÀÁ¢µÄÏ̸߳ºÔð½«ÏûÏ¢´æ´¢ÖеÄÏûÏ¢ÌáÈ¡µ½ÏûÏ¢¶ÓÁÐÖУ¬¶øºóÔÙ±»·Ö·¢µ½¶ÔÆä¸ÐÐËȤµÄÏûÏ¢Ïû·ÑÕß¡£¼ÙÉèÓдóÁ¿µÄÏûÏ¢¶ÓÁÐ,½¨Òéͨ¹ýÆôÓÃoptimizeDispatchÕâ¸öÊôÐÔ¸ÄÉÆÕâ¸öÌØÐÔ£¬ÑÝʾÑùÀý´úÂëÀýÈçÒÔÏÂËù¿´µ½µÄ£º
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" optimizedDispatch="true"/>
</policyEntries>
</policyMap>
</destinationPolicy> |
´úÂëÇåµ¥ÖÐʹÓÃͨÅä·û¡°>¡±±íʾ¸ÃÅäÖûáµÝ¹éµÄÓ¦Óõ½È«²¿µÄÏûÏ¢¶ÓÁÐÖС£
6. ×ܽá
6.1Ϊʲô²»ÄÜʹÓÃActiveMQÔÝʱ¶ÓÁÐʵÏÖͬ²½ÏûÏ¢

1£©Ã¿¸öÏûÏ¢Éú³ÉÒ»¸öÔÝʱ¶ÓÁС£ÒÀ¾ÉÊDz¢·¢ÔLÎÊûÓвúÉú¡°¶ÓÁС±µÄЧ¹û£»
2£©ÓÉÓÚҪͨ¹ýÔÝʱ¶ÓÁÐά³Öÿ¸ö»á»°Á¬½Ó²»¶Ï¿ª¡£µ±´óÁ¿»á»°Í¬Ò»Ê±ºòµ½À´Ê±»áÔì³ÉÍøÂçÓµ¶Â£¬ÔÝʱ¶ÓÁÐûÓÐÒì²½¸ßËÙ´«µÝÏûÏ¢µÄЧ¹û£»
3£©Í¬Ò»Ê±ºòÒ²»áÔì³ÉÒ»´¦×èÈû£¬´¦´¦×èÈûµÄ»ðÉÕÁ¬ÓªµÄЧ¹û¡£
6.2Òì²½ÏûÏ¢µÄÓÅÊÆºÍÌØµã
ËùνÒì²½´«Êä¡£¾ÍÊǵ±ÎÒ½«ÏûÏ¢´«µÝ¸øÄãºó£¬¸ÃÏûÏ¢¾ÍÓëÎÒÎÞ¹ØÁË¡£ÏûÏ¢ÔÚ²»Í¬Ó¦ÓûòÉ豸֮¼ä´«µÝ¡£µ«Ó¦ÓûòÉ豸±Ë´Ë²¢²»ÐëÒª¹ØÁª£¨ÔÚÒ»´Î»á»°¼ä½¨Á¢³¤Á¬½Ó£©¡£¼´ÈÃÏûϢͨ¹ý²»Í¬»á»°ÔÚÍøÂçÖнøÐжÌÁ¬½Ó¸ßËÙ´«µÝ£¬ÊµÏÖÓ¦ÓûòÉ豸֮¼äµÄ½âñî¡£
Òì²½´«ÊäµÄÌØÕ÷ÊǻỰ²ã’ñÓöÌÁ¬½Ó£¬ÍøÂç²ã¸ü¼ÓÎȶ¨¡£
Òì²½´«ÊäµÄ¹Ø¼üÔÚÓÚ£ºÏûÏ¢´«µÝµÄËÙ¶È¡£ÏûÏ¢´«ÊäµÄËÙ¶ÈÔ½¿ì¡£»á»°Á¬½ÓµÄʱ¼äÒ²¾ÍÔ½¶Ì¡£ÏµÍ³¸ü¼ÓÎȶ¨£¨²»»áÓÉÓÚÊý¾Ý¶ÂÈûÔì³É³¬Ê±¡¢ÍøÂç¶ÂÈû¡¢ÄÚ´æÒç³öµÈÎÊÌ⣩£¬ÏµÍ³µÄЧÂʸü¸ß¡£¾ÍÏñÈËÌåµÄѪҺѻ·£¨Ìá¸ßѪҺѻ·µÄËٶȵĹؼüÔÚÓÚ£¬Ò»ÊÇÍÆ¶¯ÑªÒºÔ˶¯µÄ¡°Á¦¡±Òª×㣬¶þÊÇѪ֬ҪµÍ½µµÍ×èÁ¦£©¡£Òò´ËÄܹ»ËµÌá¸ß»¥ÁªÍøÓ¦ÓÃÎȶ¨ÐÔµÄÒª¾÷ÔÚÓÚ£º²»¶ÏÌá¸ßÊý¾Ý´«ÊäµÄËÙ¶È¡£ÔÚ´ó²¢·¢µÄÇé¿öÏÂÒª×öµ½ÕâÒ»µã£¬Ò»ÊÇÒª’ñÓÃÒì²½·½Ê½Ê¹ÓöÌÁ¬½Ó´«Ê䣬¼ÙÉè»á»°Á¬½Ó³¤Ê±¼ä²»¶Ï¿ª£¨³¤Á¬½Ó£©£¬µ±´óÁ¿»á»°Í¬Ò»Ê±ºòµ½À´Ê±»áÔì³ÉÍøÂçÓµ¶Â£»¶þÊǶÔÊý¾Ý´«Ê価¿ÉÄܵÄѹËõ£»ÈýÊÇÌá¸ßÊý¾Ý´¦ÀíµÄÄÜÁ¦¡£
»¥ÁªÍø¿ª·¢ÎÞСÊ¡£ÓÉÓÚ»¥ÁªÍøÓ¦ÓÃÒªÃæ¶Ôº£Á¿ÐÅÏ¢£¬Ò»¸öССµÄÎÊÌâÒ²Äܱ»ÎÞÏ޷Ŵ󣬾ÍÏñÍôÑóÖеĺûµûЧӦ¡£Ò»¸ö»¥ÁªÍøÓ¦Óã¨Èç±¾ÎÄËù˵µÄÏûÏ¢Öмä¼þ£©Óöµ½µÄÎÊÌâ¿ÉÄÜÓëϵͳ¡¢ÍøÂç¡¢Ó¦Óᢼܹ¹¡¢Êý¾ÝµÈ¸÷¸ö²ãÃæµÄÎÊÌâÓйأ¬½ö½öÓÐÄÍÐÄ·¢ÏÖ²¢´¦ÀíºÃÿ¸öÏà¹Ø²ãÃæµÄÎÊÌâ¡£²Å¸ÉÖÕÓÚÐγÉÒ»¿îºÃµÄ»¥ÁªÍøÓ¦Óá£Ê±¿ÌÌáÐÑ×Ô¼ºµ±ÏÂÒ»²¨¾ÞÀ˵½À´Ç°ÎÒÃÇ»á×¼±¸µÄ¸üºÃ¡£ |