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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ê®·ÖÖÓÈëÃÅRocketMQ
 
×÷Õߣº °¢ÀïÖмä¼þ
  1613  次浏览      31
 2020-3-17
 
±à¼­ÍƼö:
±¾ÎÄÊ×ÏÈÒý³öÏûÏ¢Öмä¼þͨ³£ÐèÒª½â¾öÄÄЩÎÊÌâ,ÔÚ½â¾öÕâЩÎÊÌâµ±ÖлáÓöµ½Ê²Ã´À§ÄÑ,È»ºó±¾ÎĽ«½éÉÜRocketMQµÄ¼Ü¹¹Éè¼Æ£¬ÈöÁÕß¿ìËÙÁ˽âRocketMQ¡£
±¾ÎÄÀ´×ÔÓÚ°¢ÀïÖмä¼þÍŶӲ©¿Í,ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

ÏûÏ¢Öмä¼þÐèÒª½â¾öÄÄЩÎÊÌ⣿

Publish/Subscribe

·¢²¼¶©ÔÄÊÇÏûÏ¢Öмä¼þµÄ×î»ù±¾¹¦ÄÜ£¬Ò²ÊÇÏà¶ÔÓÚ´«Í³RPCͨÐŶøÑÔ¡£Ôڴ˲»ÔÙÏêÊö¡£

Message Priority

¹æ·¶ÖÐÃèÊöµÄÓÅÏȼ¶ÊÇÖ¸ÔÚÒ»¸öÏûÏ¢¶ÓÁÐÖУ¬Ã¿ÌõÏûÏ¢¶¼Óв»Í¬µÄÓÅÏȼ¶£¬Ò»°ãÓÃÕûÊýÀ´ÃèÊö£¬ÓÅÏȼ¶¸ßµÄÏûÏ¢ÏÈͶµÝ£¬Èç¹ûÏûÏ¢ÍêÈ«ÔÚÒ»¸öÄÚ´æ¶ÓÁÐÖУ¬ÄÇôÔÚͶµÝǰ¿ÉÒÔ°´ÕÕÓÅÏȼ¶ÅÅÐò£¬ÁîÓÅÏȼ¶¸ßµÄÏÈͶµÝ¡£

ÓÉÓÚRocketMQËùÓÐÏûÏ¢¶¼Êdz־û¯µÄ£¬ËùÒÔÈç¹û°´ÕÕÓÅÏȼ¶À´ÅÅÐò£¬¿ªÏú»á·Ç³£´ó£¬Òò´ËRocketMQûÓÐÌØÒâÖ§³ÖÏûÏ¢ÓÅÏȼ¶£¬µ«ÊÇ¿ÉÒÔͨ¹ý±äͨµÄ·½Ê½ÊµÏÖÀàËÆ¹¦ÄÜ£¬¼´µ¥¶ÀÅäÖÃÒ»¸öÓÅÏȼ¶¸ßµÄ¶ÓÁУ¬ºÍÒ»¸öÆÕͨÓÅÏȼ¶µÄ¶ÓÁУ¬ ½«²»Í¬ÓÅÏȼ¶·¢Ë͵½²»Í¬¶ÓÁм´¿É¡£

¶ÔÓÚÓÅÏȼ¶ÎÊÌ⣬¿ÉÒÔ¹éÄÉΪ2Àࣺ

1.Ö»Òª´ïµ½ÓÅÏȼ¶Ä¿µÄ¼´¿É£¬²»ÊÇÑϸñÒâÒåÉϵÄÓÅÏȼ¶£¬Í¨³£½«ÓÅÏȼ¶»®·ÖΪ¸ß¡¢ÖС¢µÍ£¬»òÕßÔٶ༸¸ö¼¶±ð¡£Ã¿¸öÓÅÏȼ¶¿ÉÒÔÓò»Í¬µÄtopic±íʾ£¬·¢ÏûϢʱ£¬Ö¸¶¨²»Í¬µÄtopicÀ´±íʾÓÅÏȼ¶£¬ÕâÖÖ·½Ê½¿ÉÒÔ½â¾ö¾ø´ó²¿·ÖµÄÓÅÏȼ¶ÎÊÌ⣬µ«ÊǶÔÒµÎñµÄÓÅÏȼ¶¾«È·ÐÔ×öÁËÍ×Э¡£

2.ÑϸñµÄÓÅÏȼ¶£¬ÓÅÏȼ¶ÓÃÕûÊý±íʾ£¬ÀýÈç0 ~ 65535£¬ÕâÖÖÓÅÏȼ¶ÎÊÌâÒ»°ãʹÓò»Í¬topic½â¾ö¾Í·Ç³£²»ºÏÊÊ¡£Èç¹ûÒªÈÃMQ½â¾ö´ËÎÊÌ⣬»á¶ÔMQµÄÐÔÄÜÔì³É·Ç³£´óµÄÓ°Ïì¡£ÕâÀïҪȷ±£Ò»µã£¬ÒµÎñÉÏÊÇ·ñȷʵÐèÒªÕâÖÖÑϸñµÄÓÅÏȼ¶£¬Èç¹û½«ÓÅÏȼ¶Ñ¹Ëõ³É¼¸¸ö£¬¶ÔÒµÎñµÄÓ°ÏìÓжà´ó£¿

Message Order

ÏûÏ¢ÓÐÐòÖ¸µÄÊÇÒ»ÀàÏûÏ¢Ïû·Ñʱ£¬Äܰ´ÕÕ·¢Ë͵Ä˳ÐòÀ´Ïû·Ñ¡£ÀýÈ磺һ¸ö¶©µ¥²úÉúÁË3ÌõÏûÏ¢£¬·Ö±ðÊǶ©µ¥´´½¨£¬¶©µ¥¸¶¿î£¬¶©µ¥Íê³É¡£Ïû·Ñʱ£¬Òª°´ÕÕÕâ¸ö˳ÐòÏû·Ñ²ÅÄÜÓÐÒâÒå¡£µ«ÊÇͬʱ¶©µ¥Ö®¼äÊÇ¿ÉÒÔ²¢ÐÐÏû·ÑµÄ¡£

RocketMQ¿ÉÒÔÑϸñµÄ±£Ö¤ÏûÏ¢ÓÐÐò¡£

Message Filter

Broker¶ËÏûÏ¢¹ýÂË

ÔÚBrokerÖУ¬°´ÕÕConsumerµÄÒªÇó×ö¹ýÂË£¬ÓŵãÊǼõÉÙÁ˶ÔÓÚConsumerÎÞÓÃÏûÏ¢µÄÍøÂç´«Êä¡£

ȱµãÊÇÔö¼ÓÁËBrokerµÄ¸ºµ££¬ÊµÏÖÏà¶Ô¸´ÔÓ¡£

1¡¢ÌÔ±¦NotifyÖ§³Ö¶àÖÖ¹ýÂË·½Ê½£¬°üº¬Ö±½Ó°´ÕÕÏûÏ¢ÀàÐ͹ýÂË£¬Áé»îµÄÓï·¨±í´ïʽ¹ýÂË£¬¼¸ºõ¿ÉÒÔÂú×ã×î¿Á¿ÌµÄ¹ýÂËÐèÇó¡£

2.ÌÔ±¦RocketMQÖ§³Ö°´ÕÕ¼òµ¥µÄMessage Tag¹ýÂË£¬Ò²Ö§³Ö°´ÕÕMessage Header¡¢body½øÐйýÂË¡£

3.CORBA Notification¹æ·¶ÖÐÒ²Ö§³ÖÁé»îµÄÓï·¨±í´ïʽ¹ýÂË¡£

Consumer¶ËÏûÏ¢¹ýÂË

ÕâÖÖ¹ýÂË·½Ê½¿ÉÓÉÓ¦ÓÃÍêÈ«×Ô¶¨ÒåʵÏÖ£¬µ«ÊÇȱµãÊǺܶàÎÞÓõÄÏûÏ¢Òª´«Êäµ½Consumer¶Ë¡£

Message Persistence

ÏûÏ¢Öмä¼þͨ³£²ÉÓõļ¸Öֳ־û¯·½Ê½£º

1.³Ö¾Ã»¯µ½Êý¾Ý¿â£¬ÀýÈçMysql¡£

2.³Ö¾Ã»¯µ½KV´æ´¢£¬ÀýÈçlevelDB¡¢²®¿ËÀûDBµÈKV´æ´¢ÏµÍ³¡£

3.Îļþ¼Ç¼ÐÎʽ³Ö¾Ã»¯£¬ÀýÈçKafka£¬RocketMQ

4.¶ÔÄÚ´æÊý¾Ý×öÒ»¸ö³Ö¾Ã»¯¾µÏñ£¬ÀýÈçbeanstalkd£¬VisiNotify

5.(1)¡¢(2)¡¢(3)ÈýÖֳ־û¯·½Ê½¶¼¾ßÓн«ÄÚ´æ¶ÓÁÐBuffer½øÐÐÀ©Õ¹µÄÄÜÁ¦£¬(4)Ö»ÊÇÒ»¸öÄÚ´æµÄ¾µÏñ£¬×÷ÓÃÊǵ±Broker¹ÒµôÖØÆôºóÈÔÈ»Äܽ«Ö®Ç°ÄÚ´æµÄÊý¾Ý»Ö¸´³öÀ´¡£

JMSÓëCORBA Notification¹æ·¶Ã»ÓÐÃ÷ȷ˵Ã÷ÈçºÎ³Ö¾Ã»¯£¬µ«Êdz־û¯²¿·ÖµÄÐÔÄÜÖ±½Ó¾ö¶¨ÁËÕû¸öÏûÏ¢Öмä¼þµÄÐÔÄÜ¡£

RocketMQ³ä·ÖÀûÓÃLinuxÎļþϵͳÄÚ´æcacheÀ´Ìá¸ßÐÔÄÜ¡£

Message Reliablity

Ó°ÏìÏûÏ¢¿É¿¿ÐԵļ¸ÖÖÇé¿ö£º

1.BrokerÕý³£¹Ø±Õ

2.BrokerÒì³£Crash

3.OS Crash

4.»úÆ÷µôµç£¬µ«ÊÇÄÜÁ¢¼´»Ö¸´¹©µçÇé¿ö¡£

5.»úÆ÷ÎÞ·¨¿ª»ú£¨¿ÉÄÜÊÇcpu¡¢Ö÷°å¡¢ÄÚ´æµÈ¹Ø¼üÉ豸Ë𻵣©

6.´ÅÅÌÉ豸Ë𻵡£

(1)¡¢(2)¡¢(3)¡¢(4)ËÄÖÖÇé¿ö¶¼ÊôÓÚÓ²¼þ×ÊÔ´¿ÉÁ¢¼´»Ö¸´Çé¿ö£¬RocketMQÔÚÕâËÄÖÖÇé¿öÏÂÄܱ£Ö¤ÏûÏ¢²»¶ª£¬»òÕß¶ªÊ§ÉÙÁ¿Êý¾Ý£¨ÒÀÀµË¢ÅÌ·½Ê½ÊÇͬ²½»¹ÊÇÒì²½£©¡£

(5)¡¢(6)ÊôÓÚµ¥µã¹ÊÕÏ£¬ÇÒÎÞ·¨»Ö¸´£¬Ò»µ©·¢Éú£¬Ôڴ˵¥µãÉϵÄÏûϢȫ²¿¶ªÊ§¡£RocketMQÔÚÕâÁ½ÖÖÇé¿öÏ£¬Í¨¹ýÒì²½¸´ÖÆ£¬¿É±£Ö¤99%µÄÏûÏ¢²»¶ª£¬µ«ÊÇÈÔÈ»»áÓм«ÉÙÁ¿µÄÏûÏ¢¿ÉÄܶªÊ§¡£Í¨¹ýͬ²½Ë«Ð´¼¼Êõ¿ÉÒÔÍêÈ«±ÜÃâµ¥µã£¬Í¬²½Ë«Ð´ÊƱػáÓ°ÏìÐÔÄÜ£¬Êʺ϶ÔÏûÏ¢¿É¿¿ÐÔÒªÇ󼫸ߵij¡ºÏ£¬ÀýÈçÓëMoneyÏà¹ØµÄÓ¦Óá£

RocketMQ´Ó3.0°æ±¾¿ªÊ¼Ö§³Öͬ²½Ë«Ð´¡£

Low Latency Messaging

ÔÚÏûÏ¢²»¶Ñ»ýÇé¿öÏ£¬ÏûÏ¢µ½´ïBrokerºó£¬ÄÜÁ¢¿Ìµ½´ïConsumer¡£

RocketMQʹÓó¤ÂÖѯPull·½Ê½£¬¿É±£Ö¤ÏûÏ¢·Ç³£ÊµÊ±£¬ÏûϢʵʱÐÔ²»µÍÓÚPush¡£

At least Once

ÊÇָÿ¸öÏûÏ¢±ØÐëͶµÝÒ»´Î¡£

RocketMQ ConsumerÏÈpullÏûÏ¢µ½±¾µØ£¬Ïû·ÑÍê³Éºó£¬²ÅÏò·þÎñÆ÷·µ»Øack£¬Èç¹ûûÓÐÏû·ÑÒ»¶¨²»»áackÏûÏ¢£¬ËùÒÔRocketMQ¿ÉÒԺܺõÄÖ§³Ö´ËÌØÐÔ¡£

Exactly Only Once

·¢ËÍÏûÏ¢½×¶Î£¬²»ÔÊÐí·¢ËÍÖØ¸´µÄÏûÏ¢¡£

Ïû·ÑÏûÏ¢½×¶Î£¬²»ÔÊÐíÏû·ÑÖØ¸´µÄÏûÏ¢¡£

Ö»ÓÐÒÔÉÏÁ½¸öÌõ¼þ¶¼Âú×ãÇé¿öÏ£¬²ÅÄÜÈÏΪÏûÏ¢ÊÇ¡°Exactly Only Once¡±£¬¶øÒªÊµÏÖÒÔÉÏÁ½µã£¬ÔÚ·Ö²¼Ê½ÏµÍ³»·¾³Ï£¬²»¿É±ÜÃâÒª²úÉú¾Þ´óµÄ¿ªÏú¡£ËùÒÔRocketMQΪÁË×·Çó¸ßÐÔÄÜ£¬²¢²»±£Ö¤´ËÌØÐÔ£¬ÒªÇóÔÚÒµÎñÉϽøÐÐÈ¥ÖØ£¬Ò²¾ÍÊÇ˵Ïû·ÑÏûÏ¢Òª×öµ½ÃݵÈÐÔ¡£RocketMQËäÈ»²»ÄÜÑϸñ±£Ö¤²»Öظ´£¬µ«ÊÇÕý³£Çé¿öϺÜÉÙ»á³öÏÖÖØ¸´·¢ËÍ¡¢Ïû·ÑÇé¿ö£¬Ö»ÓÐÍøÂçÒì³££¬ConsumerÆôÍ£µÈÒì³£Çé¿öÏ»á³öÏÖÏûÏ¢ÖØ¸´¡£

BrokerµÄBufferÂúÁËÔõô°ì£¿

BrokerµÄBufferͨ³£Ö¸µÄÊÇBrokerÖÐÒ»¸ö¶ÓÁеÄÄÚ´æBuffer´óС£¬ÕâÀàBufferͨ³£´óСÓÐÏÞ£¬Èç¹ûBufferÂúÁËÒÔºóÔõô°ì£¿

ÏÂÃæÊÇCORBA Notification¹æ·¶Öд¦Àí·½Ê½£º

1.RejectNewEvents ¾Ü¾øÐÂÀ´µÄÏûÏ¢£¬ÏòProducer·µ»ØRejectNewEvents´íÎóÂë¡£

2.°´ÕÕÌØ¶¨²ßÂÔ¶ªÆúÒÑÓÐÏûÏ¢

  • AnyOrder - Any event may be discarded on overflow.
  • This is the default setting for this property.
  • FifoOrder - The first event received will be the first discarded.
  • LifoOrder - The last event received will be the first discarded.
  • PriorityOrder - Events should be discarded in priority order, such that lower priority events will be discarded before higher priority events.
  • DeadlineOrder - Events should be discarded in the order of shortest expiry deadline first

RocketMQûÓÐÄÚ´æBuffer¸ÅÄRocketMQµÄ¶ÓÁж¼Êdz־û¯´ÅÅÌ£¬Êý¾Ý¶¨ÆÚÇå³ý¡£

¶ÔÓÚ´ËÎÊÌâµÄ½â¾ö˼·£¬RocketMQͬÆäËûMQÓзdz£ÏÔÖøµÄÇø±ð£¬RocketMQµÄÄÚ´æBuffer³éÏó³ÉÒ»¸öÎÞÏÞ³¤¶ÈµÄ¶ÓÁУ¬²»¹ÜÓжàÉÙÊý¾Ý½øÀ´¶¼ÄÜ×°µÃÏ£¬Õâ¸öÎÞÏÞÊÇÓÐǰÌáµÄ£¬Broker»á¶¨ÆÚɾ³ý¹ýÆÚµÄÊý¾Ý£¬ÀýÈçBrokerÖ»±£´æ3ÌìµÄÏûÏ¢£¬ÄÇôÕâ¸öBufferËäÈ»³¤¶ÈÎÞÏÞ£¬µ«ÊÇ3ÌìǰµÄÊý¾Ý»á±»´Ó¶Óβɾ³ý¡£

´ËÎÊÌâµÄ±¾ÖÊÔ­ÒòÊÇÍøÂçµ÷ÓôæÔÚ²»È·¶¨ÐÔ£¬¼´¼È²»³É¹¦Ò²²»Ê§°ÜµÄµÚÈýÖÖ״̬£¬ËùÒԲŲúÉúÁËÏûÏ¢ÖØ¸´ÐÔÎÊÌâ¡£

»ØËÝÏû·Ñ

»ØËÝÏû·ÑÊÇÖ¸ConsumerÒѾ­Ïû·Ñ³É¹¦µÄÏûÏ¢£¬ÓÉÓÚÒµÎñÉÏÐèÇóÐèÒªÖØÐÂÏû·Ñ£¬ÒªÖ§³Ö´Ë¹¦ÄÜ£¬BrokerÔÚÏòConsumerͶµÝ³É¹¦ÏûÏ¢ºó£¬ÏûÏ¢ÈÔÈ»ÐèÒª±£Áô¡£²¢ÇÒÖØÐÂÏû·ÑÒ»°ãÊǰ´ÕÕʱ¼äά¶È£¬ÀýÈçÓÉÓÚConsumerϵͳ¹ÊÕÏ£¬»Ö¸´ºóÐèÒªÖØÐÂÏû·Ñ1СʱǰµÄÊý¾Ý£¬ÄÇôBrokerÒªÌṩһÖÖ»úÖÆ£¬¿ÉÒÔ°´ÕÕʱ¼äά¶ÈÀ´»ØÍËÏû·Ñ½ø¶È¡£

RocketMQÖ§³Ö°´ÕÕʱ¼ä»ØËÝÏû·Ñ£¬Ê±¼äά¶È¾«È·µ½ºÁÃ룬¿ÉÒÔÏòǰ»ØËÝ£¬Ò²¿ÉÒÔÏòºó»ØËÝ¡£

ÏûÏ¢¶Ñ»ý

ÏûÏ¢Öмä¼þµÄÖ÷Òª¹¦ÄÜÊÇÒì²½½âñ»¹ÓиöÖØÒª¹¦ÄÜÊǵ²×¡Ç°¶ËµÄÊý¾Ýºé·å£¬±£Ö¤ºó¶ËϵͳµÄÎȶ¨ÐÔ£¬Õâ¾ÍÒªÇóÏûÏ¢Öмä¼þ¾ßÓÐÒ»¶¨µÄÏûÏ¢¶Ñ»ýÄÜÁ¦£¬ÏûÏ¢¶Ñ»ý·ÖÒÔÏÂÁ½ÖÖÇé¿ö£º

1.ÏûÏ¢¶Ñ»ýÔÚÄÚ´æBuffer£¬Ò»µ©³¬¹ýÄÚ´æBuffer£¬¿ÉÒÔ¸ù¾ÝÒ»¶¨µÄ¶ªÆú²ßÂÔÀ´¶ªÆúÏûÏ¢£¬ÈçCORBA Notification¹æ·¶ÖÐÃèÊö¡£ÊʺÏÄÜÈÝÈ̶ªÆúÏûÏ¢µÄÒµÎñ£¬ÕâÖÖÇé¿öÏûÏ¢µÄ¶Ñ»ýÄÜÁ¦Ö÷ÒªÔÚÓÚÄÚ´æBuffer´óС£¬¶øÇÒÏûÏ¢¶Ñ»ýºó£¬ÐÔÄÜϽµ²»»áÌ«´ó£¬ÒòΪÄÚ´æÖÐÊý¾Ý¶àÉÙ¶ÔÓÚ¶ÔÍâÌṩµÄ·ÃÎÊÄÜÁ¦Ó°ÏìÓÐÏÞ¡£

2.ÏûÏ¢¶Ñ»ýµ½³Ö¾Ã»¯´æ´¢ÏµÍ³ÖУ¬ÀýÈçDB£¬KV´æ´¢£¬Îļþ¼Ç¼ÐÎʽ¡£ µ±ÏûÏ¢²»ÄÜÔÚÄÚ´æCacheÃüÖÐʱ£¬Òª²»¿É±ÜÃâµÄ·ÃÎÊ´ÅÅÌ£¬»á²úÉú´óÁ¿¶ÁIO£¬¶ÁIOµÄÍÌÍÂÁ¿Ö±½Ó¾ö¶¨ÁËÏûÏ¢¶Ñ»ýºóµÄ·ÃÎÊÄÜÁ¦¡£

ÆÀ¹ÀÏûÏ¢¶Ñ»ýÄÜÁ¦Ö÷ÒªÓÐÒÔÏÂËĵ㣺

1.ÏûÏ¢Äܶѻý¶àÉÙÌõ£¬¶àÉÙ×Ö½Ú£¿¼´ÏûÏ¢µÄ¶Ñ»ýÈÝÁ¿¡£

2.ÏûÏ¢¶Ñ»ýºó£¬·¢ÏûÏ¢µÄÍÌÍÂÁ¿´óС£¬ÊÇ·ñ»áÊܶѻýÓ°Ï죿

3.ÏûÏ¢¶Ñ»ýºó£¬Õý³£Ïû·ÑµÄConsumerÊÇ·ñ»áÊÜÓ°Ï죿

4.ÏûÏ¢¶Ñ»ýºó£¬·ÃÎʶѻýÔÚ´ÅÅ̵ÄÏûϢʱ£¬ÍÌÍÂÁ¿Óжà´ó£¿

·Ö²¼Ê½ÊÂÎñ

ÒÑÖªµÄ¼¸¸ö·Ö²¼Ê½ÊÂÎñ¹æ·¶£¬ÈçXA£¬JTAµÈ¡£ÆäÖÐXA¹æ·¶±»¸÷´óÊý¾Ý¿â³§É̹㷺֧³Ö£¬ÈçOracle£¬MysqlµÈ¡£ÆäÖÐXAµÄTMʵÏÖٮٮÕßÈçOracle Tuxedo£¬ÔÚ½ðÈÚ¡¢µçÐŵÈÁìÓò±»¹ã·ºÓ¦Óá£

·Ö²¼Ê½ÊÂÎñÉæ¼°µ½Á½½×¶ÎÌá½»ÎÊÌ⣬ÔÚÊý¾Ý´æ´¢·½ÃæµÄ·½Ãæ±ØÈ»ÐèÒªKV´æ´¢µÄÖ§³Ö£¬ÒòΪµÚ¶þ½×¶ÎµÄÌá½»»Ø¹öÐèÒªÐÞ¸ÄÏûϢ״̬£¬Ò»¶¨Éæ¼°µ½¸ù¾ÝKeyÈ¥²éÕÒMessageµÄ¶¯×÷¡£RocketMQÔÚµÚ¶þ½×¶ÎÈÆ¹ýÁ˸ù¾ÝKeyÈ¥²éÕÒMessageµÄÎÊÌ⣬²ÉÓõÚÒ»½×¶Î·¢ËÍPreparedÏûϢʱ£¬Äõ½ÁËÏûÏ¢µÄOffset£¬µÚ¶þ½×¶Îͨ¹ýOffsetÈ¥·ÃÎÊÏûÏ¢£¬²¢ÐÞ¸Ä״̬£¬Offset¾ÍÊÇÊý¾ÝµÄµØÖ·¡£

RocketMQÕâÖÖʵÏÖÊÂÎñ·½Ê½£¬Ã»ÓÐͨ¹ýKV´æ´¢×ö£¬¶øÊÇͨ¹ýOffset·½Ê½£¬´æÔÚÒ»¸öÏÔÖøÈ±ÏÝ£¬¼´Í¨¹ýOffset¸ü¸ÄÊý¾Ý£¬»áÁîϵͳµÄÔàÒ³¹ý¶à£¬ÐèÒªÌØ±ð¹Ø×¢¡£

¶¨Ê±ÏûÏ¢

¶¨Ê±ÏûÏ¢ÊÇÖ¸ÏûÏ¢·¢µ½Brokerºó£¬²»ÄÜÁ¢¿Ì±»ConsumerÏû·Ñ£¬Òªµ½Ìض¨µÄʱ¼äµã»òÕߵȴýÌØ¶¨µÄʱ¼äºó²ÅÄܱ»Ïû·Ñ¡£

Èç¹ûÒªÖ§³ÖÈÎÒâµÄʱ¼ä¾«¶È£¬ÔÚBroker²ãÃæ£¬±ØÐëÒª×öÏûÏ¢ÅÅÐò£¬Èç¹ûÔÙÉæ¼°µ½³Ö¾Ã»¯£¬ÄÇôÏûÏ¢ÅÅÐòÒª²»¿É±ÜÃâµÄ²úÉú¾Þ´óÐÔÄÜ¿ªÏú¡£

RocketMQÖ§³Ö¶¨Ê±ÏûÏ¢£¬µ«ÊDz»Ö§³ÖÈÎÒâʱ¼ä¾«¶È£¬Ö§³ÖÌØ¶¨µÄlevel£¬ÀýÈ綨ʱ5s£¬10s£¬1mµÈ¡£

ÏûÏ¢ÖØÊÔ

ConsumerÏû·ÑÏûϢʧ°Üºó£¬ÒªÌṩһÖÖÖØÊÔ»úÖÆ£¬ÁîÏûÏ¢ÔÙÏû·ÑÒ»´Î¡£ConsumerÏû·ÑÏûϢʧ°Üͨ³£¿ÉÒÔÈÏΪÓÐÒÔϼ¸ÖÖÇé¿ö£º

ÓÉÓÚÏûÏ¢±¾ÉíµÄÔ­Òò£¬ÀýÈç·´ÐòÁл¯Ê§°Ü£¬ÏûÏ¢Êý¾Ý±¾ÉíÎÞ·¨´¦Àí£¨ÀýÈç»°·Ñ³äÖµ£¬µ±Ç°ÏûÏ¢µÄÊÖ»úºÅ±»×¢Ïú£¬ÎÞ·¨³äÖµ£©µÈ¡£ÕâÖÖ´íÎóͨ³£ÐèÒªÌø¹ýÕâÌõÏûÏ¢£¬ÔÙÏû·ÑÆäËûÏûÏ¢£¬¶øÕâÌõʧ°ÜµÄÏûÏ¢¼´Ê¹Á¢¿ÌÖØÊÔÏû·Ñ£¬99%Ò²²»³É¹¦£¬ËùÒÔ×îºÃÌṩһÖÖ¶¨Ê±ÖØÊÔ»úÖÆ£¬¼´¹ý10sÃëºóÔÙÖØÊÔ¡£

ÓÉÓÚÒÀÀµµÄÏÂÓÎÓ¦Ó÷þÎñ²»¿ÉÓã¬ÀýÈçdbÁ¬½Ó²»¿ÉÓã¬ÍâÏµÍ³ÍøÂç²»¿É´ïµÈ¡£Óöµ½ÕâÖÖ´íÎ󣬼´Ê¹Ìø¹ýµ±Ç°Ê§°ÜµÄÏûÏ¢£¬Ïû·ÑÆäËûÏûϢͬÑùÒ²»á±¨´í¡£ÕâÖÖÇé¿ö½¨ÒéÓ¦ÓÃsleep 30s£¬ÔÙÏû·ÑÏÂÒ»ÌõÏûÏ¢£¬ÕâÑù¿ÉÒÔ¼õÇáBrokerÖØÊÔÏûÏ¢µÄѹÁ¦¡£

RocketMQ Overview

RocketMQÊÇ·ñ½â¾öÁËÉÏÊöÏûÏ¢Öмä¼þÃæÁÙµÄÎÊÌ⣬½ÓÏÂÀ´ÈÃÎÒÃÇһ̽¾¿¾¹¡£

RocketMQ ÊÇʲô£¿

ÉÏͼÊÇÒ»¸öµäÐ͵ÄÏûÏ¢Öмä¼þÊÕ·¢ÏûÏ¢µÄÄ£ÐÍ£¬RocketMQÒ²ÊÇÕâÑùµÄÉè¼Æ£¬¼òµ¥ËµÀ´£¬RocketMQ¾ßÓÐÒÔÏÂÌØµã£º

ÊÇÒ»¸ö¶ÓÁÐÄ£Ð͵ÄÏûÏ¢Öмä¼þ£¬¾ßÓиßÐÔÄÜ¡¢¸ß¿É¿¿¡¢¸ßʵʱ¡¢·Ö²¼Ê½Ìص㡣

Producer¡¢Consumer¡¢¶ÓÁж¼¿ÉÒÔ·Ö²¼Ê½¡£

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

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

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

3.¸ßЧµÄ¶©ÔÄÕßˮƽÀ©Õ¹ÄÜÁ¦

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

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

6.½ÏÉÙµÄÒÀÀµ

RocketMQ ÎïÀí²¿Êð½á¹¹

ÈçÉÏͼËùʾ£¬ RocketMQµÄ²¿Êð½á¹¹ÓÐÒÔÏÂÌØµã£º

Name ServerÊÇÒ»¸ö¼¸ºõÎÞ״̬½Úµã£¬¿É¼¯Èº²¿Ê𣬽ڵãÖ®¼äÎÞÈκÎÐÅϢͬ²½¡£

Broker²¿ÊðÏà¶Ô¸´ÔÓ£¬Broker·ÖΪMasterÓëSlave£¬Ò»¸öMaster¿ÉÒÔ¶ÔÓ¦¶à¸öSlave£¬µ«ÊÇÒ»¸öSlaveÖ»ÄܶÔÓ¦Ò»¸öMaster£¬MasterÓëSlaveµÄ¶ÔÓ¦¹ØÏµÍ¨¹ýÖ¸¶¨ÏàͬµÄBrokerName£¬²»Í¬µÄBrokerIdÀ´¶¨Ò壬BrokerIdΪ0±íʾMaster£¬·Ç0±íʾSlave¡£MasterÒ²¿ÉÒÔ²¿Êð¶à¸ö¡£Ã¿¸öBrokerÓëName Server¼¯ÈºÖеÄËùÓнڵ㽨Á¢³¤Á¬½Ó£¬¶¨Ê±×¢²áTopicÐÅÏ¢µ½ËùÓÐName Server¡£

ProducerÓëName Server¼¯ÈºÖÐµÄÆäÖÐÒ»¸ö½Úµã£¨Ëæ»úÑ¡Ôñ£©½¨Á¢³¤Á¬½Ó£¬¶¨ÆÚ´ÓName ServerÈ¡Topic·ÓÉÐÅÏ¢£¬²¢ÏòÌṩTopic·þÎñµÄMaster½¨Á¢³¤Á¬½Ó£¬ÇÒ¶¨Ê±ÏòMaster·¢ËÍÐÄÌø¡£ProducerÍêÈ«ÎÞ״̬£¬¿É¼¯Èº²¿Êð¡£

ConsumerÓëName Server¼¯ÈºÖÐµÄÆäÖÐÒ»¸ö½Úµã£¨Ëæ»úÑ¡Ôñ£©½¨Á¢³¤Á¬½Ó£¬¶¨ÆÚ´ÓName ServerÈ¡Topic·ÓÉÐÅÏ¢£¬²¢ÏòÌṩTopic·þÎñµÄMaster¡¢Slave½¨Á¢³¤Á¬½Ó£¬ÇÒ¶¨Ê±ÏòMaster¡¢Slave·¢ËÍÐÄÌø¡£Consumer¼È¿ÉÒÔ´ÓMaster¶©ÔÄÏûÏ¢£¬Ò²¿ÉÒÔ´ÓSlave¶©ÔÄÏûÏ¢£¬¶©ÔĹæÔòÓÉBrokerÅäÖþö¶¨¡£

RocketMQ Âß¼­²¿Êð½á¹¹

ÈçÉÏͼËùʾ£¬RocketMQµÄÂß¼­²¿Êð½á¹¹ÓÐProducerºÍConsumerÁ½¸öÌØµã¡£

1.Producer Group

ÓÃÀ´±íʾһ¸ö·¢ËÍÏûÏ¢Ó¦Óã¬Ò»¸öProducer Groupϰüº¬¶à¸öProducerʵÀý£¬¿ÉÒÔÊǶą̀»úÆ÷£¬Ò²¿ÉÒÔÊÇһ̨»úÆ÷µÄ¶à¸ö½ø³Ì£¬»òÕßÒ»¸ö½ø³ÌµÄ¶à¸öProducer¶ÔÏó¡£Ò»¸öProducer Group¿ÉÒÔ·¢ËͶà¸öTopicÏûÏ¢£¬Producer Group×÷ÓÃÈçÏ£º

±êʶһÀàProducer

¿ÉÒÔͨ¹ýÔËά¹¤¾ß²éѯÕâ¸ö·¢ËÍÏûÏ¢Ó¦ÓÃÏÂÓжà¸öProducerʵÀý

·¢ËÍ·Ö²¼Ê½ÊÂÎñÏûϢʱ£¬Èç¹ûProducerÖÐ;ÒâÍâå´»ú£¬Broker»áÖ÷¶¯»Øµ÷Producer GroupÄÚµÄÈÎÒâһ̨»úÆ÷À´È·ÈÏÊÂÎñ״̬¡£

2.Consumer Group

ÓÃÀ´±íʾһ¸öÏû·ÑÏûÏ¢Ó¦Óã¬Ò»¸öConsumer Groupϰüº¬¶à¸öConsumerʵÀý£¬¿ÉÒÔÊǶą̀»úÆ÷£¬Ò²¿ÉÒÔÊǶà¸ö½ø³Ì£¬»òÕßÊÇÒ»¸ö½ø³ÌµÄ¶à¸öConsumer¶ÔÏó¡£Ò»¸öConsumer GroupϵĶà¸öConsumerÒÔ¾ù̯·½Ê½Ïû·ÑÏûÏ¢£¬Èç¹ûÉèÖÃΪ¹ã²¥·½Ê½£¬ÄÇôÕâ¸öConsumer GroupϵÄÿ¸öʵÀý¶¼Ïû·ÑÈ«Á¿Êý¾Ý¡£

RocketMQ Êý¾Ý´æ´¢½á¹¹

ÈçÉÏͼËùʾ£¬RocketMQ²ÉÈ¡ÁËÒ»ÖÖÊý¾ÝÓëË÷Òý·ÖÀëµÄ´æ´¢·½·¨¡£ÓÐЧ½µµÍÎļþ×ÊÔ´¡¢IO×ÊÔ´£¬ÄÚ´æ×ÊÔ´µÄËðºÄ¡£¼´±ãÊǰ¢ÀïÕâÖÖº£Á¿Êý¾Ý£¬¸ß²¢·¢³¡¾°Ò²Äܹ»ÓÐЧ½µµÍ¶Ëµ½¶ËÑÓ³Ù£¬²¢¾ß±¸½ÏÇ¿µÄºáÏòÀ©Õ¹ÄÜÁ¦¡£

 

   
1613 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

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

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

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