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

ÏûÏ¢Öмä¼þ¼Ü¹¹Ö÷Òª×é¼þ˵Ã÷£º
£¨1£©ÏûÏ¢·¢ËÍ×é¼þ£º½ÓÊÕÓ¦Ó÷þÎñÆ÷·¢ÆðµÄÍâϵͳµ÷ÓÃÇëÇ󣬲¢½«ÇëÇóÏûÏ¢·¢Ë͵½±¾µØÏûÏ¢¶ÓÁлò¿çÖÐÐÄÏûÏ¢¶ÓÁУ»
£¨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¿ÉÒÔ×Ô¶¯Ì½²âµ½ÎÞÓõĶÓÁУ¨Ò»¶¨Ê±¼äÄÚΪ¿ÕµÄ¶ÓÁУ©²¢É¾³ýµô£¬»ØÊÕÏìÓ¦×ÊÔ´¡£ÓÉÓÚActiveMQʹÓÃʱ×Ô¶¯´´½¨Destination£¬²¢ÇÒĬÈÏÇé¿öϲ»»áɾ³ýµô£¬ÕâÖÖÖ»Ôö¼Ó²»¼õÉÙ£¬µ¼ÖÂÔÚqueue´´½¨Æµ·±µÄÇé¿öÏ£¬±¾¹¦Äܷdz£ÓÐÓá£
ÅäÖÃÈçÏ£º
<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¢·¢·ÃÎÊûÓвúÉú¡°¶ÓÁС±µÄЧ¹û£»
2£©ÒòΪҪͨ¹ýÁÙʱ¶ÓÁÐά³Öÿһ¸ö»á»°Á¬½Ó²»¶Ï¿ª£¬µ±´óÁ¿»á»°Í¬Ê±µ½À´Ê±»áÔì³ÉÍøÂçÓµ¶Â£¬ÁÙʱ¶ÓÁÐûÓÐÒì²½¿ìËÙ´«µÝÏûÏ¢µÄЧ¹û£»
3£©Í¬Ê±Ò²»áÔì³ÉÒ»´¦¶ÂÈû£¬´¦´¦¶ÂÈûµÄ»ðÉÕÁ¬ÓªµÄЧ¹û¡£
6.2Òì²½ÏûÏ¢µÄÓÅÊÆºÍÌØµã
ËùνÒì²½´«Ê䣬¾ÍÊǵ±ÎÒ½«ÏûÏ¢´«µÝ¸øÄãºó£¬¸ÃÏûÏ¢¾ÍÓëÎÒÎÞ¹ØÁË£¬ÏûÏ¢ÔÚ²»Í¬Ó¦ÓûòÉ豸֮¼ä´«µÝ£¬µ«Ó¦ÓûòÉ豸±Ë´Ë²¢²»ÐèÒª¹ØÁª£¨ÔÚÒ»´Î»á»°¼ä½¨Á¢³¤Á¬½Ó£©£¬¼´ÈÃÏûϢͨ¹ý²»Í¬»á»°ÔÚÍøÂçÖнøÐжÌÁ¬½Ó¿ìËÙ´«µÝ£¬ÊµÏÖÓ¦ÓûòÉ豸֮¼äµÄ½âñî¡£Òì²½´«ÊäµÄÌØÕ÷ÊǻỰ²ã²ÉÓöÌÁ¬½Ó£¬ÍøÂç²ã¸ü¼ÓÎȶ¨¡£
Òì²½´«ÊäµÄ¹Ø¼üÔÚÓÚ£ºÏûÏ¢´«µÝµÄËÙ¶È¡£ÏûÏ¢´«ÊäµÄËÙ¶ÈÔ½¿ì£¬»á»°Á¬½ÓµÄʱ¼äÒ²¾ÍÔ½¶Ì£¬ÏµÍ³¸ü¼ÓÎȶ¨£¨²»»áÒòΪÊý¾Ý×èÈûÔì³É³¬Ê±¡¢ÍøÂç×èÈû¡¢ÄÚ´æÒç³öµÈÎÊÌ⣩£¬ÏµÍ³µÄЧÂʸü¸ß£¬¾ÍÏñÈËÌåµÄѪҺѻ·£¨Ìá¸ßѪҺѻ·µÄËٶȵĹؼüÔÚÓÚ£¬Ò»ÊÇÍÆ¶¯ÑªÒºÔ˶¯µÄ¡°Á¦¡±Òª×㣬¶þÊÇѪ֬ҪµÍ¼õÉÙ×èÁ¦£©¡£Òò´Ë¿ÉÒÔ˵Ìá¸ß»¥ÁªÍøÓ¦ÓÃÎȶ¨ÐÔµÄÒª¾÷ÔÚÓÚ£º²»¶ÏÌá¸ßÊý¾Ý´«ÊäµÄËÙ¶È¡£ÔÚ´ó²¢·¢µÄÇé¿öÏÂÒª×öµ½ÕâÒ»µã£¬Ò»ÊÇÒª²ÉÓÃÒì²½·½Ê½Ê¹ÓöÌÁ¬½Ó´«Ê䣬Èç¹û»á»°Á¬½Ó³¤Ê±¼ä²»¶Ï¿ª£¨³¤Á¬½Ó£©£¬µ±´óÁ¿»á»°Í¬Ê±µ½À´Ê±»áÔì³ÉÍøÂçÓµ¶Â£»¶þÊǶԴ«ÊäÊý¾Ý¾¡¿ÉÄܵÄѹËõ£»ÈýÊÇÌá¸ßÊý¾Ý´¦ÀíµÄÄÜÁ¦¡£
»¥ÁªÍø¿ª·¢ÎÞСÊ£¬ÒòΪ»¥ÁªÍøÓ¦ÓÃÒªÃæ¶Ôº£Á¿ÐÅÏ¢£¬Ò»¸öССµÄÎÊÌâÒ²Äܱ»ÎÞÏ޷Ŵ󣬾ÍÏñÍôÑóÖеĺûµûЧӦ¡£Ò»¸ö»¥ÁªÍøÓ¦Óã¨Èç±¾ÎÄËù˵µÄÏûÏ¢Öмä¼þ£©Óöµ½µÄÎÊÌâ¿ÉÄÜÓëϵͳ¡¢ÍøÂç¡¢Ó¦Óᢼܹ¹¡¢Êý¾ÝµÈ¸÷¸ö²ãÃæµÄÎÊÌâÓйأ¬Ö»ÓÐÄÍÐÄ·¢ÏÖ²¢´¦ÀíºÃÿһ¸öÏà¹Ø²ãÃæµÄÎÊÌ⣬²ÅÄÜ×îÖÕÐγÉÒ»¿îºÃµÄ»¥ÁªÍøÓ¦Óá£Ê±¿ÌÌáÐÑ×Ô¼ºµ±ÏÂÒ»²¨¾ÞÀ˵½À´Ç°ÎÒÃÇ»á×¼±¸µÄ¸üºÃ¡£
×÷Õß¼ò½é£ºÍõ½ð½££¬CSDN²©¿ÍÈÏ֤ר¼Ò£¬¿ªÔ´Êý¾Ý¿âÖмä¼þMycatºËÐÄ¿ª·¢³ÉÔ±¡£´ÓÊÂÈí¼þ¹¤×÷10Äê£¬ÔøÔÚ½ðÈںͻ¥ÁªÍøÐÐÒµÆóÒµµ£Èθ߼¶Èí¼þ¹¤³Ìʦ¡¢ÏîÄ¿¾Àí¡¢¸ß¼¶DBA¹¤³Ìʦְ룬ÓÐÒøÐÐÐÅÓÿ¨ÏµÍ³ºÍµç×ÓÉÌÎñϵͳ»ù´¡¼Ü¹¹Éè¼ÆÓ뿪·¢¾Ñé¡£ÏÖÔÚÌìʨ¼¯Íŵ£Èθ߼¶DBA¹¤³Ìʦ£¬¸ºÔð¹«Ë¾µç×ÓÉÌÎñÍøÕ¾Êý¾Ý¿âÉè¼ÆÓëÓÅ»¯¡¢Êý¾Ý¿â¼Ü¹¹¹æ»®¼°²¿Êð¹æ·¶Öƶ¨¡¢ºËÐÄÓ¦ÓõÄÈí¼þÉè¼ÆÓ뿪·¢µÈ¹¤×÷¡£×î½ü´ú±íMYCATÍŶӲμӵÚËĽìÈ«¹ú´´Ð´´Òµ´óÈü£¬²¢ÔÚÌì½òÈüÇø¾öÈüÖÐʤ³ö¡£
|