ÐòÑÔ
2016Äê11Ô£¬°¢ÀォRocketMQ¾èÏ׸øApacheÈí¼þ»ù½ð»á£¬Õýʽ³ÉΪ·õ»¯ÏîÄ¿¡£ÖÁ´Ë£¬RocketMQ
¿ªÆôÁËÂõÏòÈ«Çò¶¥¼¶¿ªÔ´Èí¼þµÄÐÂÕ÷³Ì¡£Í¨¹ýÉçÇø°ëÄê¶àµÄŬÁ¦¡£9 Ô 25 ÈÕ£¬Apache Èí¼þ»ù½ð»á¹Ù·½Ðû²¼£¬°¢Àï°Í°Í¾èÔù¸ø
Apache ÉçÇøµÄ¿ªÔ´ÏîÄ¿ RocketMQ ´Ó Apache ÉçÇøÕýʽ±ÏÒµ£¬³ÉΪ Apache
¶¥¼¶ÏîÄ¿£¨TLP£©¡£
ÔÚͨÏòApache¶¥¼¶ÏîÄ¿µÄÕâЩʱ¼äÀÍŶÓ×ßÁ˺ܶà·£¬Ò²¾ÀúÁ˺ܶàÊ¡£
µÚÒ»´Î°´ÕÕApache Way×ßͨApacheÈí¼þ·¢²¼Á÷³Ì£¬Íê³ÉÁËÔÚÕû¸öIPMC¶¼¼«Îªº±¼ûµÄRc3·¢²¼×³¾Ù£¬ÌåÏÖÁËÖйúÍŶӵÄÑϽ÷¡¢¸ßЧ£¬Ó®µÃÁËÉçÇøµÄÔÞÓþ¡£
µÚÒ»´ÎÎüÄÉÍâ¼®Committer - ÈÕ±¾²©Ê¿Roman¡£2¸öÔÂʱ¼äÀËûÌá½»½ü20¸öPull Request£¬Íƶ¯RocketMQ¸úApacheÆäËü¶¥¼¶ÉçÇøÏîÄ¿ºÏ×÷£¬¶ÔÉçÇøÆð²½×ö³öÁË׿Խ¹±Ïס£
µÚÒ»´ÎÃæÏòÉçÇø¾Ù°ì±à³ÌÂíÀËÉ¡£PMC³ÉԱȫ³Ì¸ú½ø£¬°ïÖú²ÎÈüÑ¡ÊÖÆÀÉóÉè¼Æ¡¢Review´úÂë¡£
µÚÒ»´ÎÎüÄÉPMC³ÉÔ±¡£ÔÚRocketMQÉçÇø£¬PMCÊǶÔCommitter³ÖÐø¹±Ï׵ĽøÒ»²½Merit¡£
µÚÒ»´ÎÏòApacheÉçÇøÕѸæOpenMessaging±ê×¼µÄÔ¸¾°¡£½ô½Ó×Å, ASF Director
JimëËì×Ô¼ö£¬¼ÓÈëµ½RocketMQ³¬Ç¿ºÀ»ªµÄÈ«ÇòMentorÕóÓªÖС£
µÚÒ»´ÎÃæÏò¹úÄÚÉçÇø¾Ù°ìÁË´óÐÍMeetUp¡£È«ÇòͼÎÄÏÖ³¡Ö±²¥£¬5³¡´¿¼¼ÊõMessaging &
Streaming¸É»õ·ÖÏí£¬´«´ïÁËÍŶÓÊĽ«×öºÃÉçÇø£¬¸ãºÃÉú̬µÄ¾öÐÄ¡£
µÚÒ»´Î......
ÈËÉú¾ÍÊÇÒ»³¡°ÏÉæ£¬×ß¾ÃÁË£¬²ÅÖªÐÄËᣬ²ÅÖª¼èÄÑ£¬²ÅÓмáÈÍ£¬²ÅÓпÊÍû¡£Ç°·½µÄ·£¬¾¡¹ÜÒ£Ô¶£¬¾¡¹Üµßô¤¡£µ«½Å²½ÒÀÈ»£¬×·ÇóÒÀÈ»£¬·½ÏòÒÀÈ»¡£
2017Äê8ÔÂ3ºÅ£¬¾¹ýÁ˰ëÄê¶àµÄ·¢Õ¹£¬ÍŶÓÕýʽ·¢ÆðÁ˳å»÷TLPµÄÌÖÂÛ¡£½ÓÏÂÀ´µÄÒ»¸öÔÂʱ¼äÀÌÖÂÛºÍͶƱ£¬¼¸ºõ³ÉÁËÿÌìµÄ±ØÐ޿Ρ£ÖÕÓÚ£¬ÇÀÔÚJava
9·¢²¼Ö®Ç°£¬RocketMQ Õýʽͨ¹ý¶Ê»á¾öÒ飬½áÊøÁËÔÚApacheÉϵķõ»¯£¬Õýʽ³ÉΪApache
340¶à¸ö¶¥¼¶ÏîÄ¿ÖеÄÒ»Ô±¡£ÕâÒ»¿Ì£¬ÍêÈ«³ö×ÔÖйúÍŶӣ¬À´×Ô°¢Àï°Í°ÍµÄ·Ö²¼Ê½ÏûÏ¢ÒýÇæ³ÉΪȫÇò»¥ÁªÍøÖмä¼þ¡¢´óÊý¾ÝÁìÓòèè²µÄÐÂÐÇ¡£ÏÂÒ»Õ¾£¬µÈ´ýËüµÄ½«ÊÇÔÚ¹ú¼ÊÎę̀ÉÏÓëÊÀ½ç¶¥¼¶ÀÏÅÆÏûÏ¢Öмä¼þµÄ¼¤ÁÒ½ÇÖð¡£ÏàÐÅÔÚApacheÏȽøµÄÉçÇøÀíÄîÖ¸ÒýÏ£¬RocketMQÉçÇøÉú̬»á¼ÌÐøÅ·¢Õ¹£¬Íê³ÉÎÒÃÇËù¸³ÓèËüµÄ¹âÈÙʹÃü¡£
½ÓÏÂÀ´£¬ÎÒÃÇ´Ó²úÆ·¡¢ÉçÇø¡¢Éú̬ÕâÈý¸öά¶È£¬·Ö±ð»Ø¹ËÒ»ÏÂRocketMQÕâ°ëÄê¶àµÄApache·õ»¯Àú³Ì¡£
²úƷƪÕÂ
ÓëApache´ó¶àÊý¶¥¼¶ÏîÄ¿²»Í¬£¬RocketMQÔÚ½øÈëApache֮ǰ£¬Open Source֮·ÒѾ×ß¹ýÁË3¸ö´ºÇï¡£Àú¾¶à´Î˫ʮһϴÀñ£¬ÔÚ¹úÄÚ»ýÀÛÁËÒ»¶¨µÄ¿Ú±®£¬ÉçÇøÒ²Óв»´íµÄActive
Contributors£¬µ«ÕâЩ»¹Ô¶Ô¶²»¹»¡£ÔÚÕýʽ¿ªÆô¾èÔù֮ǰ£¬ÍŶӶÔRocketMQÉõÖÁ°üÀ¨ÉçÇø×öÁË´óÁ¿ÖØËܹ¤×÷¡£Èç¹ú¼Ê»¯·½Ã棬ÔÚGithubÉÏÀûÓÃsidebarÌØÐÔÖØÐÂÉè¼Æ±àÅÅÁËÎĵµ¡£Èç½ñ£¬User
Guide, Quick Start, Architecture & Design, How
to contribute, Community, FAQ ÕâЩ¼¸ºõ³ÉΪÁËÍŶÓвúÆ·±êÅäµÄÎĵµ½á¹¹¡£
´úÂë²ãÃæ¸üÊǽøÐÐÁ˱Ƚϡ°¼¤½ø¡±µØÓÅ»¯¡£ÈçÈ¥³ýGBK×Ö·û£¬È«ÃæÓµ±§UTF-8¡£ÖØÐ´API JavaDoc¡£ÇåÀí´úÂ룬ÓÅ»¯´úÂë½á¹¹¡£ÀûÓÃJDependÓÅ»¯×é¼þÖ®¼äµÄ³éÏóÒÀÀµ¹ØÏµ¡£ÀûÓÃFindbugsɨÃè´úÂë©¶´£¬Ö¸µ¼¹æ·¶±àÂë¡£½»¸¶·½Ã棬¹æ·¶ReleaseÁ÷³Ì£¬New
Features¡¢Improvement and Bug ·ÖÀàRelease note¡£ÉçÇø²ãÃæÔò¿ªÆôÁËȫӢʽ»¥¶¯£¬·¢²¼ÎÊÎÊÌâµÄ¼¼ÇÉ¡£
¾¹ýÕâЩ¾«ÐĵÄ×¼±¸£¬RocketMQÍê³ÉÁË´Ó3.0µ½4.0µÄÇÄÈ»Éý¼¶¡£¶ø4.0ÊǸö¹ý¶É°æ±¾£¨ºÍ3.0Ïà±È£¬¼Ü¹¹²ãÃæÃ»ÓнϴóµÄ¸Ä±ä£©£¬Ò²ÊÇÔÚApache¿ªÆô·õ»¯µÄ°æ±¾¡£Í¨¹ý·õ»¯£¬ÍŶÓÖØÐÂÈÏʶÁËÈí¼þÑз¢Á÷³ÌµÄÖØÒªÐÔ£¬ÓÈÆäÊÇÏñ¾«Ï¸Éè¼Æ£¬´úÂëReview£¬±àÂë¹æÔ¼£¬·ÖÖ§Ä£ÐÍ£¬·¢²¼¹æÔ¼µÈÈÝÒ×±»ºöÂԵĹý³Ì¡£ÎÞÒÔ¹æ¾Ø²»³É·½Ô²£¬ÓÈÆäÊǵ±ÄãÖÃÉíÓÚ²¢Áìµ¼Ò»¸öÈ«ÇòÐ×÷µÄ¿ªÔ´ÏîĿʱ£¬ÕâЩ¶¼ÏÔµÃÊÇÓÈÎªÖØÒª¡£
±àÂë¹æÔ¼
RocketMQµÄ±àÂë¹æÔ¼ÊDZȽϿíËɵģ¬ÖÁÉÙÔÚ4.0Õâ¸ö°æ±¾ÉÏ¡£ÓëÆäËüApache¶¥¼¶ÏîÄ¿²»Í¬£¬ÎÒÃDz¢Ã»ÓдӱàÂëϸ½ÚÉÏÈ¥×ö¹ý¶àÔ¼Êø£¬È羲̬±äÁ¿ÈçºÎʹÓã¬ÈÕÖ¾Ôõô´ò£¬Òì³£Ôõô²¶»ñ¡¢´¦Àí¡£¶øÖ÷Ҫͨ¹ýCode
Style, Copyright, Code Template 3¿éÀ´½øÐÐһЩ´ó·½ÏòÉϵÄÔ¼Êø¡£ÎªÁË·ÀÖ¹²»×ñѹæÔ¼µÄ´úÂëºÏ²¢²Ö¿â£¬ÎÒÃÇͨ¹ýPR
Checklist, checkstyleºÍ³ÖÐø¼¯³ÉÀ´×Ô¶¯»¯Ð£ÑéÐÐΪ¡£ÒòΪÎÒÃÇÏàÐÅ£¬·²ÊÇÓÐÈ˽éÈëµÄµØ·½£¬¾Í´æÔÚcheckµÄ±ØÒª¡£·²ÊÇÓÐÈ˽éÈëµÄµØ·½£¬¾Í´æÔÚ×Ô¶¯»¯µÄ¿ÉÄÜ¡£
Ñз¢Á÷³Ì
RocketMQµÄ¿ªÔ´Ä£Ê½²»ÊÇ´«Í³ÒâÒåÉϵĿª·ÅÄÚºËģʽ£¬¶øÊǺÍApache HadoopºÍOpenStackÕâÒ»À࿪Դƽ̨ģʽÀàËÆ£¬ÎÒÃdz¢ÊÔ°Ñ¿ªÔ´ÊÀ½çºÍרÓÐÊÀ½ç×îºÃµÄ½áºÏÆðÀ´£¬ÔÚÕæÕýÒâÒåÉϵÄÐ×÷ƽ̨ÉÏÉú²úרÓвúÆ·¡£ÎÒÃÇÏ£ÍûRedhat£¬CentOSºÍFedoraÕâÑùµÄ²úÆ·´ØÐͬ·¢Õ¹Ð§Ó¦Ò²ÄÜÌåÏÖÔÚRocketMQδÀ´µÄÑݽøÖС£ÎªÁËÓ½ÓÕâÑùµÄÌôÕ½£¬ÍŶӱØÐë´ÓÈí¼þÑз¢Á÷³Ì·½Ãæ×ö³ö¸Ä±ä£¬¹¹½¨Äܹ»Í¬Ê±Ö§³ÅÄÚ²¿¡¢¿ªÔ´ÉçÇøÒÔ¼°ÉÌÒµ»¯µÄÉú̬Ìåϵ¡£
·ÖÖ§Ä£ÐÍ
RocketMQÔÚÉè¼ÆÖ®³õ¾ÍÔøÉèÏë¹ýδÀ´One KernelÕâÑùµÄ²úÆ·ÐÎ̬¡£ÕâЩÄêÏÂÀ´£¬Î§ÈÆ×ÅËü£¬ÍŶӴòÔìÁËAliwareMQ¡¢MetaQ¡¢ÒÔ¼°Notify
3.0µÈÄÚ²¿¡¢ÉÌÒµ»¯²úÆ·¡£Ëæ×ÅRocketMQ½øÈëApache£¬´úÂëµÄÑݽø±äµÃÓú¼Ó¸´ÔÓ£¬¶ø´«Í³µÄMaster·ÖÖ§Ä£ÐͺÜÄÑÂú×㿪Դ¡¢ÉÌÒµ»¯¡¢¼¯ÍÅÄÚ²¿ºÍ¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆ¹²ÓÃÒ»¸öRocketMQÄÚºËÕâÑùµÄÐèÇó¡£Í¨¹ý²»¶ÏµÄ˼¿¼Óëʵ¼ù£¬ÎÒÃÇͨ¹ýÒýÈë¾µÏñ²Ö¿â»úÖÆ½â¾öÁËÕâÒ»ÄÑÌâ¡£¾ßÌå½²£¬¾ÍÊÇͨ¹ýÔÚÿ¸ö²Ö¿âÅäÖÃmasterºÍdevelop·ÖÖ§£¬²»Í¬µÄ²Ö¿âÖ±½ÓÓɾµÏñ½Úµã½øÐÐת»»ºÍÌØÐÔ»º³å¡£ÕâÑùÏÂÀ´£¬ÔÚApacheÉÏ·õ»¯µÄÌØÐÔ¿ÉÒÔһ·ºÏ²¢ÖÁÄÚ²¿ÉõÖÁÊä³öµ½¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆ£¬ÔÚÄÚ²¿·õ»¯µÄÌØÐÔÒ²ÄÜÒÔPATCHµÄ·½Ê½·´²¸µ½¿ªÔ´ÉçÇø¡£ÈçÏÂͼËùʾ£º

³ÖÐø¼¯³É¡¢³ÖÐøÑ¹²â£¬³ÖÐø½»¸¶
½èÖúTravisºÍJenkins£¬ÎÒÃǴÁËÁ½Ì×»ù´¡ÉèÊ©¡£ÔÚGithubÉÏ£¬Travis»á¶ÔËùÓÐcommit£¬ËùÓÐPR´¥·¢³ÖÐø¼¯³É£¬ÕâÊÇËüµÄÒ»¸öÇ¿´óÖ®´¦¡£³ý´ËÖ®Í⣬Ëü»¹Ö§³Ö¿çJDK£¬¿çƽ̨µÄMatrixÑéÖ¤£¨²»¹ýºÜ¿Éϧ£¬OSXÆ½Ì¨ËÆºõÒ»Ö±¶¼ÓÐÎÊÌ⣩¡£ÔÚÄÚ²¿£¬ÀûÓÃJenkins
2.0µÄPipelineʵÏÖÁ˳ÖÐø¼¯³É£¬³ÖÐøÑ¹²â£¬³ÖÐø½»¸¶£¨Docker£¬PandoraÒÔ¼°AWS
Cloud£¬Azure Cloud£©¡£ÈçÏÂͼËùʾ£º

ÓÉÉÏͼ¿ÉÖª£¬Õû¸ö³ÖÐø¼¯³É·ÖΪ´úÂ뾲̬¼ì²â£¬µ¥Ôª²âÊÔ£¬¼¯³É²âÊÔ£¬SonarÖÊÁ¿ÆÀ²âÕâ¸ö¼¸¸öStage¡£¶ÔÓÚµ¥Ôª²âÊÔ£¬²»½öÒª¸²¸ÇºËÐÄÂß¼£¬¶øÇÒÒª¿ì£¨ÄÚÖÃ3·ÖÖÓãÐÖµ£¬³¬¹ý¾Í±¨´íºÍ·¢Óʼþ£©¡£ÎÞÊýʵ¼ù¸æËßÎÒÃÇ£¬Èç¹û²»¹»¿ì£¬¾Í»áÓиü¶àµÄͬѧÔÚ±¾µØ±àÒëʱѡÔñÌø¹ýµ¥²â£¬¾Ã¶ø¾ÃÖ®£¬µ¥²â¾ÍÂýÂýʧȥÁËÒâÒ壬±äµÃÓú·¢²»¿Éά»¤¡£ÒªÈ«£¬Òª¿ì£¬»¹Òª¿Éά»¤ÐÔ¡£Õâ¶Ôµ¥²â±àдÕßÀ´ËµÎÞÒÉÊǸö¾Þ´óÌôÕ½£¬Õâ¾ÍÒªÇó¶àÏß³ÌÖ®¼äµÄ½»»¥¾¡Á¿±ÜÃâÒÀÀµsleep£¬×Ôµ×Ïòϵľ¡¿ÉÄÜMockÒÀÀµ£¬¶¯±ö×´½á¹¹µÄÓÅÑÅÃüÃû£¬¶ÏÑÔÒì³£¶ø²»ÊÇÅ׳öÒì³£¡£
·¢²¼¹æÔ¼
½øÈëApacheºó£¬ÓÈÆäÔÚ·õ»¯½×¶Î£¬Ñ§Ï°²¢×ñÑApache·¢²¼Á÷³ÌÏÔµÃÓÈÎªÖØÒª¡£

ÉÏÃæÕâ·ùͼÃèÊöµÄÊÇApache·õ»¯ÏîÄ¿µÄ·¢²¼Á÷³Ì¡£¿ì¡¢ÎÈ£¬ÕâÊÇRocketMQÍŶӵÚÒ»´Î·¢²¼´«´ï¸øÉçÇøµÄÐÅÏ¢¡£×ݹÛËùÓÐApache·õ»¯ÏîÄ¿£¬Äܹ»ÔÚÕâô¶ÌµÄʱ¼äÄÚ£¬ÓÃÕâôÉٵĴÎÊý(RC3)ѧϰ²¢×ßÍê·¢²¼£¬ÓÃÐж¯Ö¤Ã÷ÖйúÈËͬÑù¾ß±¸ÑϽ÷ÇÒרҵµØ×öÊÂ̬¶È¡£µ±È»£¬ÎÒÃÇÒ²ÊÇÐÒÔ˵أ¬ÐÒÔ˵ØÅöµ½ÁËJustinºÍBruceÕâÁ½Î»ÈÈÐÄ¡¢×¨ÒµµÄMentor¡£ÕâÀÐèҪǿµ÷ÏÂReleaseÉú³ÉµÄ¼¸¸öÖØÒªÎļþ£¬ÈçÏÂͼ£º

Ô´Âë(src)ºÍ¶þ½øÖÆÎļþ(bin)±»·Ö±ð´ò°ü¡£ascÊÇÒ»¸öÇ©ÃûÎļþ£¬committerʹÓÃ×Ô¼ºµÄ˽Կ¶Ô·Ö·¢°ü½øÐÐÇ©Ãû£¬ÈκÎÈË¿ÉÒÔÓÃÎÒÃǶÔÍ⹫²¼µÄ512λµÄ¹«Ô¿½øÐÐÑéÖ¤¡£
ÁíÍ⣬»¹ÓÐÒ»¸ö²»µÃ²»ÌáµÄÊÂÇé¡£Apache¶ÔLicense½øÐÐÁËÑϸñµÄ·ÖÀ࣬±ÈÈçApache License
2.0/1.1£¬BSD£¬MIT/X11µÈÊôÓÚCategory A£¬ÕâЩÐÒéÓëApache LicenseÊǼæÈݵģ¬¿ÉÒÔ·ÅÐĵØÒýÈë¡£¶ÔÓÚCategory
BÖеÄLicense£¬±ÈÈçEPL 1.0£¬MPL 1.0/1.1/2.0µÈÄܹ»ÒÔbinaryµÄÐÎʽÒýÈë¡£¶ÔÓÚCategory
XÖеÄLicenseÈçGPL£¬LGPLÔò²»ÄÜÒýÈëµ½²úÆ·µ±ÖС£
Õë¶ÔLicenseµÄÎÊÌ⣬RocketMQÔÚÊ״η¢²¼µÄʱºò£¬ÔÚÉçÇøÀï½øÐÐÁ˳ä·ÖÌÖÂÛ¡£ÈçºÎ´¦Ë«ÖØLicenseµÄÒÀÀµ£¬ÈçºÎÇø·ÖSourceºÍBinary
ReleaseÒÀÀµµÄLicenseÎÊÌ⣬ÈçºÎ´¦ÀíNOTICE¡£ÕâЩ֪ʶ±»ÎÒÃÇ¡°ÏÖѧÏÖÂô¡±µÄÓÃÔÚÁËÖ¸µ¼ÉçÇø¹±Ï×ÉÏÃæ£¬¼È¼ÓÇ¿Á˼ÇÒ䣬Óֺܺõش«³Ð¸øÁËÉçÇø¡£
PR & Jira´¦Àí
ÕâÊÇÒ»¸öRocketMQ wayµÄ¾ßÌåÌåÏÖ¡£Õë¶ÔPR£¬ÎÒÃÇÉè¼ÆÁËÒ»Ì×Checklist£¬ÈçÏÂͼËùʾ£º

ËùÓÐPR±ØÐëÓÐ3+ Committer Review£¬CommitterÌá½»µÄPR£¬¾¡Á¿²»Òª×Ô¼ºMerge¡£ÁíÍ⣬PRµÄºÏ²¢ÊǸö·Ñʱ·ÑÁ¦µÄ¹¤×÷£¬ÍŶӳÉԱͨ¹ýÑо¿£¬±àдÁËÒ»¸ö×Ô¶¯»¯Python½Å±¾£¬ÇÉÃîµØ½«ÔÏȼ¸·ÖÖӵij£Ì¬¹¤×÷Ëõ¼õµ½Á˼¸ÃëÖÓ£¬Ò»¶¨³Ì¶ÈÉÏÌåÏÖÁËÖйú¹¤³Ìʦ¡°ÀÁÖÐÇóʤ¡±µÄ½³Ðľ«Éñ¡£¶øJira£¬ÎÒÃÇÇ¿µ÷component£¬Ã¿¸öcomponent¶¼ÓÐ2µ½3λcommitter
or maintainer°Ñ³Ö¡£JiraµÄ´¦ÀíÒ»°ãÊÇÐèÒª¾¹ýResolve½×¶Î£¬×îºó²ÅÊÇClose£¬²¢ÇÒÏêϸ±êÃ÷ÊÜÓ°ÏìµÄ°æ±¾£¬ÔÚÄĸö°æ±¾ÐÞ¸´µô¡£
ÉçÇøÆªÕÂ
ÔÚ²úƷƪÕÂÀÎÒÃÇÖ÷Òª´Ó±àÂë¹æÔ¼£¬·ÖÖ§Ä£ÐÍ£¬³ÖÐø½»¸¶£¬·¢²¼¹æÔ¼µÈ»·½Ú»Ø¹ËÁËÕâ°ëÄêÀ´¿ÉϲµÄ±ä»¯¡£½ÓÏÂÀ´µÄÉçÇøÆª£¬ÎÒÃǽ«¾Û½¹ÉçÇø£¬Öصã½éÉÜApache
Way£¬RocketMQ Way£¬ÒÔ¼°ÉçÇø³ÉÊì¶ÈÄ£ÐÍ¡£ÖÁÓÚÆ·ÅÆ&ÉçÇøµÄBuilding£¬Òµ½çÒ²Óкܶàʵ¼ù£¬ÈçDevRel£¬JUGµÈ¡£ÕâÀ·ÅÕÅͼ¸ÐÊÜһϡ£

Apache Way
ÔÚApacheÉçÇø£¬Ò»¸öºÜÖØÒªµÄÀíÄCommunity over Code¡£ÉçÇøÊÇÅжÏÒ»¸ö·õ»¯ÏîÄ¿ÄÜ·ñ±ÏÒµµÄÖØÒª¿¼ºË±ê×¼¡£µ«Õâ²¢²»Òâζ×ÅCode¾Í²»ÖØÒª¡£×Ðϸ»ØÏëһϣ¬ÔÚÄã½Ó´¥¹ýµÄËùÓÐApache¶¥¼¶ÏîÄ¿ÖУ¬ÓÐûÓиøÄãÁôÏÂÉî¿ÌÓ¡ÏóµÄCode£¨ÇëÔÊÐíÎÒÄôúÂëÀ´ËµÊ£¬´úÂë¾ÍÏñÒ»Ãæ¾µ×Ó£¬Êǹ¤³ÌʦµÄÃÅÃæ£¬Ò²Êǹ¤½³ÈÙÈèµÄ×îÖ±½ÓÌåÏÖ£©¡£ÏàÐÅÄÇЩÑо¿¹ý´óÁ¿Apache¶¥¼¶ÏîÄ¿µÄͬѧ£¬Ò»¶¨ÓкÍÎÒÒ»ÑùµÄ¸ÐÊÜ¡£ApacheÔÚ´óÁ¦Ç¿µ÷ÉçÇøµÄ½ñÌ죬ºÜÈÝÒ׸ø´ó¼ÒÈôó¼ÒÎó½â
- Éè¼Æ²»ÖØÒªÁË£¬´úÂë²»ÖØÒªÁË¡£ÊÔÏëÏ£¬Èç¹û²úÆ·µÄÉè¼Æ£¬²úÆ·µÄÖÊÁ¿²»¹ýÓ²£¬ÓÖÔõôָÍû»áÓÐÒ»¸ö½¡¿µ¶àÔªµÄÉçÇøÄØ£¿ËùÒÔ£¬ÎÒÃÇÖØÊÓÉçÇø£¬µ«Ò²ÖØÊÓÉè¼Æ£¬ÖØÊÓ´úÂëÖÊÁ¿£¬ÖØÊÓ²úÆ·´ø¸øÓû§µÄÌåÑé¡£

ÉÏÃæÕâ·ùͼ½ÚÑ¡×Ô֮ǰMeetUpÉϵķÖÏí£¬ÊÇÎÒÃǶÔÓÚApache WayµÄÀí½â¡£
Community - Over Code£¬Ê×ÏÈÒªÈÏʶÉçÇø£¬ÉçÇø°üÂÞÍòÏó£¬ÓÐDevelopers£¬Writers£¬Testers£¬Sysadmins£¬Devops£¬UsersµÈµÈ£¬µ«²»ÐèÒªEmployee¡£ÓÉEmployees´òÔìµÄÉçÇøÊDz»½¡¿µµÄ£¬²»¿É³ÖÐøµÄ£¬È±·¦¶àÔª»¯¡£¹ú¼ÊÉÏһЩ´ó¹«Ë¾£¬ÔçÆÚ²ÎÓëApacheÏîÄ¿£¬Ò»Î¶Ïë×Å¿ØÖÆÉçÇø£¬Êâ²»ÖªApacheÉçÇøÀíÄîµÄ¾«ËèÔÚÓÚÓëÉçÇø£¬ÓëÆäËüÆóÒµ£¬ÆäËü¸öÈ˹±Ï×Õߣ¬ÅàÑøÐ×÷£¬¼ÓËÙÏîÄ¿Óë¸öÈ˵ijɳ¤¡£ÉçÇø²»»áƾ¿Õ²úÉú£¬²»ÊǰÑÏîÄ¿ÍùGithubÉÏÒ»¶ª¾ÍÊÇ¿ªÔ´ÁË£¬È»ºóÉçÇø¾Í»á×Ô¶¯²úÉú¡£Ò»¸öÉçÇøµÄ¾ÓªÊÇÐèÒª»¨·ÑÐÄ˼µÄ£¬·¢Õ¹Ò»¸öÉçÇø³ÉÔ±£¬Õùȡһ¸ö¹ú¼Ê¹±Ï×Õߣ¬ÕâЩ¶¼ÊÇÒ»¸ö³¤ÆÚ¾ÓªµÄ¹ý³Ì¡£RocketMQÉçÇøµÄµÚÒ»¸ö¹ú¼Ê¹±Ï×Õߣ¬ÎÒÃÇÕûÕû¸ú½ø¡¢¹ÄÀøÁ˽ü2¸öÔ¡£µ±È»£¬»¹Óв»ÉÙÀÏÍâÒ²±í´ï³öÁ˹±Ï×ÉçÇøµÄÐËȤ£¬ÍòÕɸߥƽµØÆð£¬ÏÈ´Ó×î»ù±¾µÄ¹¤×÷×öÆð£¬ÈÃÉçÇø¿´µ½ÄãµÄŬÁ¦£¬¿´µ½Äã³ÖÐø¸ú½ø¡¢¹±Ï×ÉçÇøµÄ¾öÐÄ£¬Apache
Committer£¨ÈÏÖ¤³ÌÐòÔ±£©×ÔÈ»ÀëÄã²»Ô¶¡£
Merit - Recognizing Your Work£¬²ÎÓëÉçÇøµÄ½¨ÉèÄÜ»ñµÃʲô£¬Ò»¸öContributorÔÚÉçÇøµÄËùÓÐŬÁ¦ÊÇÓÐÄ¿¹²¶ÃºÍÓм£¿Éѵģ¬Ìá½»Á˶àÉÙIssueºÍPR£¿²ÎÓëÁ˶àÉÙCode
Review£¬ÓʼþÁбíÀïÊÇ·ñ×ÜÓÐÕæÖª×Æ¼ûð³öÀ´£¬ÕâÒ»Çж¼ÔÚGithub¡¢JIRA¡¢ºÍÓʼþÁбíÀï½øÐÐÁ˳Áµí£¬Ôڵõ½ÉçÇøµÄÈϿɺó£¬Contributor±ä³ÉΪÁËCommitter£¬Committer±ä³ÉΪÁËPMC
Member¡£Ò»²½Ò»²½£¬ÉçÇøÈÏ¿ÉÁËÄãµÄ¹±Ï×£¬ÄãÒ²»ñµÃÁ˲»´íµÄ³É³¤¡£
Open Development - For Everything£¬ÉçÇøÒ»Çж¼ÊÇ¿ª·ÅµÄ£¬ÌرðÊǶÔÓÚ¿ª·¢£¬Ã¿¸öÈ˶¼¿ÉÒÔ²ÎÓ뵽ÿÐдúÂëÖУ¬´Ó¿ª·¢Ç°µÄDISCUSS£¬ÔÙµ½Pull
RequestÖеÄCode Review£¬ÉõÖÁ×÷ΪUserʹÓ÷½ÃæµÄFeedback¡£ËùÓеÄÌÖÂÛ£¬Ë¼ÏëµÄÅöײ£¬ÉõÖÁÊÇÕùÂÛ£¬¶¼ÊÇPublicµÄ¡£¶ÔÓÚ¹úÄÚÉçÇø£¬ÎÒÃÇÒ»Ö±ÔÚ¹ÄÀøËùÓÐÏßÏÂ(°üÀ¨QQ)µÄÖØÒªÌÖÂÛ£¬ÔÚÓʼþÁбíÀï¶¼ÄÜÓÐËùÌåÏÖ£¬Ò»Çж¼ÊÇ¿ª·ÅÓë͸Ã÷µÄ£¬Ã»ÓÐ˽ϵľö¶¨¡£
Decision Making - Consensus & Votes£¬¾ø¶ÔµÄ¿ª·ÅÒ²»á´øÀ´Ò»¶¨µÄ±×¶Ë£¬ÈçÁ÷³ÌÉϵķ±ËöÓëÍÏí³¡£ÔÚÉçÇø×ö¾öÒ飬Ê×ÏÈÐèҪͨ¹ýÔÚÓʼþÁбíÖз¢ÆðÌÖÂÛ£¬´ï³ÉÒ»Öºó£¬ÐèÒªÔÙ·¢ÆðÒ»´ÎͶƱ£¬²¢ÖÁÉٵȴý72Сʱ£¨¿¼ÂÇÈ«ÇòÊ±Çø£©ºó²ÅÄÜÐû²¼Í¶Æ±½á¹û¡£Á÷³ÌËä·±£¬µ«¾öÒéÒ»µ©Í¨¹ý£¬¾Í¼á¾öÖ´ÐУ¬ÕâÒ²ÊÇÒ»ÖÖÉçÇøÖ´ÐÐÁ¦µÄÌåÏÖ¡£
ÔÚѧϰºÍʵ¼ùApache WayµÄ¹ý³ÌÖУ¬ÍŶÓÒ²ÃþË÷³öÁËÒ»Ì×ÎÒÃdzÆÖ®ÎªRocketMQ WayµÄ×î¼Ñʵ¼ù¡£
International Collaboration - ½ûÖ¹ÖÐÎÄ×¢ÊÍ£¬ÔÊÐíUserÓʼþÁбíʹÓÃÖÐÎÄÌáÎÊ£¬µ«DevÓʼþÁÐ±í±ØÐëʹÓÃÓ¢ÎÄ¡£¹ØÓÚ¼¸¸öÓʼþÁбíµÄÓÃ;£¬Çë²Î¿¼¹Ù·½ËµÃ÷¡£
PR Management - Pull RequestÌá½»¡¢ºÏ²¢Ðè×ñÑÒ»¶¨µÄ¹æÔ¼(checklist)£»Ã¿¸öPR±ØÐëÓÐ×ã¹»µÄµ¥Ôª²âÊÔ£¬¼¯³É²âÊÔ£¬ÓÐÔöÁ¿µÄ´úÂ븲¸ÇÂÊÒªÇó£»PRµÄºÏ²¢ÓÐ3+
+1£¬CommitterÌá½»µÄPR²»Òª×Ô¼ºMerge¡£
Diversity Review - ¶ÔÓÚCommitter´úÂëʵʩCTR(Commit then
Review)²ßÂÔ£¬¶ÔÓÚContributorÔòÊÇRTC(Review then Commit)²ßÂÔ¡£
Branch Model - ²ÉÓÃË«Ö÷¸Éģʽ£¨MasterÓëDevelop£©£¬±ü³ÖOne kernelµÄÀíÄî¡£
Community CodeMarathon - ²»¶¨ÆÚµÄ±à³ÌÂíÀËÉ£¬ÍÚ¾òÉçÇø»îÔ¾µÄ¹±Ï×Õߣ¬ÅàÑø²¢¸¨µ¼ÉçÇøµÄÉî¶È²ÎÓëÕß¡£
Ecosystem Assemble - ¶ÀÁ¢²Ö¿â£¬ÎªÉçÇøÏîÄ¿°²ÓªÔúÕ¯¡£Ã¿¸ö¸öÌåÔÚ¹±Ï×֮ǰ£¬Ê×ÏÈÒªÌá½»ApacheµÄICLA¡£
One contributor, One Mentor - ÿλPMC³ÉÔ±¶¼ÓÐÒåÎñ°ïÖúÉçÇøContributor£¬¸¨µ¼²¢´øÁìËûÃÇÊìϤApache
Way£¬³ÉΪCommitterÉõÖÁÊÇPMC Member¡£
ÍøÕ¾Á÷Á¿µÄ±ä»¯
°ëÄê¶àµÄʱ¼äÀÎÒÃÇÂ½ÐøÔÚÔÆÆÜÉçÇø£¬CSDN£¬InfoQÖÐÎÄÕ¾¡¢¹ú¼ÊÕ¾·¢±íÁË¶àÆª¼¼ÊõÎÄÕ£¬×«Ð´¹ú¼ÊÂÛÎÄ£¬ÔÚApacheCon¡¢LinuxConµÈ¹ú¼Ê¶¥¼¶¿ªÔ´·å»á·¢±íÖ÷ÌâÑݽ²£¬È«ÇòͼÎÄͬ²½Ö±²¥Meetup¡£Í¨¹ýÕâһϵÁйú¼ÊÊä³ö£¬ÍøÕ¾Á÷Á¿ÓÀ´ÁË¿Éϲ±ä»¯¡£

ͨ¹ýÕâ·ùͼ¿ÉÒÔ¿´µ½£¬ÃÀ¹úÏÖÔÚÒѾÊÇRocketMQÈ«ÇòµÚ2´ó·ÃÎʹú¡£Õâ¶ÔÍŶӼ´½«¿ªÕ¹µÄAliware
MQ¹ú¼ÊÕ½ÂÔ£¬µì¶¨ÁËÁ¼ºÃµÄ»ù´¡¡£Í¬Ê±£¬ÕâÖÖ³ÖÐø×߸ߵÄÁ÷Á¿Ò²ÔÚ²»¶Ï±Þ²ß×ÅÎÒÃÇ£¬Ð´¸ßÖÊÁ¿´úÂ룬×ö¸ßÖÊÁ¿²úÆ·£¬ÏòÈ«ÇòÊä³öÖйúÖÇ(ÖÊ)Ôì¡£
³ÉÊì¶ÈÆÀ¹À
̹°×˵£¬RocketMQ½øÈëApacheÖ®³õ£¬²¢Ã»ÓÐÕë¶ÔÕâ¸öÄ£ÐÍ×öÈκÎѧϰ£¨ÌÖÑáÓ¦ÊÔ½ÌÓý£©¡£ÎÒÃÇÏ£Íûͨ¹ý×Ô¼ºµÄÀí½âºÍ¼ùÐУ¬Íê³ÉÈ«ÇòÉçÇøµÄ¹¹½¨£¬Íê³É±ÏÒµ¡£ÁîÈ˾ªÏ²µÄÊÇ£¬µ±ÍŶÓ8Ô·ݿªÊ¼ÕýʽÉóÊÓ±ÏÒµTODO
Listʱ£¬·¢ÏÖApacheµÄÀíÂÛÖ¸µ¼ºÍÎÒÃǵÄʵ¼ù¾ªÈ˵ÄÒ»Ö¡£Àí½âÍòË꣡ÏÂͼÊÇRocketMQµÄÉçÇø³ÉÊì¶ÈÆÀ¹À¡£

Éú̬ƪÕÂ
×÷Ϊ¹úÄÚÊ׸ö·ÇHadoop¡¢Spark´óÊý¾ÝÉú̬ϵÄApache¶¥¼¶ÏîÄ¿£¬ÎÒÃÇÔÚ´òÔì¶àÔª»¯ÉçÇøµÄͬʱ£¬Ò²ÔÚŬÁ¦¹¹½¨ÒÔMessagingΪCoreµÄÉú̬Ìåϵ¡£Ö®Ç°Ìáµ½¹ýµÄ£¬ÎÒÃÇΪÉçÇøÉú̬¹±Ï×ÕßÌṩÁ˵¥¶ÀµÄApache´úÂë²Ö¿â¡£ÕâÒ»×ö·¨£¬ÏÖÔÚÒ²ÔÚ·×·×±»ÆäËüApache¶¥¼¶ÏîÄ¿ËùЧ·Â¡£½ØÖ¹Ä¿Ç°ÎªÖ¹£¬À´×ÔÉçÇø¹±Ï×µÄRocketMQ-Console,
RocketMQ-JMS, RocketMQ-Flume£¬RocketMQ-CPP µÈÉú̬ÏîÄ¿ÒѾÔÚÖî¶à¹«Ë¾ÄÚ²¿½øÐÐÁËÏßÉÏÑéÖ¤£¬ÏñRocketMQ-Druid£¬RocketMQ-Ignite£¬RocketMQ-StormµÈÏîÄ¿£¬´úÂë¸üÊDZ»ºÏ²¢½ø¶Ô·½²Ö¿â£¬ÕâҲʹRocketMQºÍÆäËü¶¥¼¶¿ªÔ´ÏîÄ¿¡¢ÉçÇøÖ®¼äÓÐÁ˸ü¶àÁ¬½Ó¡£¸ü¶àµÄÉú̬ÏîÄ¿½éÉÜ£¬Çë²Î¿¼¹ÙÍø½éÉÜ¡£

MessagingÉú̬

ÉÏÃæÕâ·ùͼÊÇÍŶÓÎ§ÈÆ×ÅOpenMessaging ±ê×¼¶øÅ¬Á¦´òÔìµÄÉú̬Ìåϵ¡£OpenMessagingÊÇÍŶӶàÄêÀ´´ÓÊÂMessagingÁìÓòÑо¿µÄÒ»¸ö¾ÑéÌáÁ¶¡£¾¹ý°ëÄê¶àµÄ·¢Õ¹£¬ÕâÌ×±ê×¼ÒѾ½øÈëLinux»ù½ð»á£¬½ÓÏÂÀ´»á½øÈëµ½CNCF£¬³ÉÎªÔÆ¼ÆËã²»¿É»òȱµÄ±ê×¼Ö®Ò»¡£¶øÕâÌ×API¼¶µÄ¿çƽ̨£¬¿çÓïÑÔ±ê×¼£¬»á³¢ÊÔ½â¾ö֮ǰÎÒÃÇÓöµ½µ«Î´Ôø³¹µ×½â¾öµÄËùÓÐÎÊÌâ¡£ÈçÏÂͼËùʾ£¬·Ö²¼Ê½ÊÂÎñ£¬ÎÒÃÇÄÚ²¿µÄ²úÆ·MateQºÍNotifyÒ²ÓÐÀàËÆµÄÌØÐÔ£¬µ«ÕâÖÖ·Ö²¼Ê½ÊÂÎñ¸ü¶àµÄÊÇ·¢ËÍÕß·Ö²¼Ê½ÊÂÎñ£¬²¢²»ÊÇÕæÕýÒâÒåÉϵķֲ¼Ê½ÊÂÎñ¡£¸ºÔؾùºâ£¬ÔÚÀģʽºÍÍÆÄ£Ê½Ï²ßÂÔ»áÓÐËù²»Í¬£¬ÏûÏ¢±¾ÉíµÄshardingÒ²»áÒòÒµÎñ³¡¾°²»Í¬¶ø²»Í¬¡£·Ö²¼Ê½×·×Ù£¬Ö÷ÒªÊÇ¿¼ÂÇLinux
CNCFÖеÄopentracing¡£ÐÒéÇŽӣ¬Ö÷ÒªÊÇ¿¼ÂÇÈçºÎºÍÏÖÓеıê×¼£¬ÈçJMS½øÐÐÎÞ·ìÇŽӡ£Á÷¼ÆË㣬ͨ¹ýÒýÈëÁ÷¼ÆËãËã×Ó£¬ÔÚÏûϢͶµÝ¹ý³ÌÖÐÕë¶ÔÄÚÈݽøÐмÆËã¡£Benchmark£¬ÀàËÆSPECJMS£¬°ÑËùÓÐMessaging
EngineÀµ½Í¬Ò»»ùµ÷ÉÏ×öÐÔÄܲâÊÔ¡£

×ܽáһϣ¬»ùÓÚOpenMessagingµÄÏÂÒ»´úµÄÏûÏ¢ÒýÇæRocketMQ 5.0Ö÷Òª»áÔÚËĸöÁìÓò³ÖÐø·¢Á¦£ºµç×ÓÉÌÎñ£¬¸ß²¢·¢ÏÂÏ÷·åÌî¹È¡£ÎïÁªÍøÁìÓò£¬º£Á¿Á¬½ÓͬʱÔÚÏß¡£´óÊý¾ÝÁìÓò£¬ÍÌÍÂΪÍõ¡£½ðÈÚÁìÓò£¬ÖØÒªµÄÊǸ߿ɿ¿£¬Êý¾ÝÈßÓà¡£
½áÊøÓï
ºÍÆäËü¹ú¼Ê¶¥¼¶¿ªÔ´ÏîÄ¿ÂÔÓв»Í¬£¨ÈçHadoop£¬SparkµÈ£©£¬³ýÁËÔÚ¿ªÔ´ÉçÇøµÄŬÁ¦Í⣬ÍŶÓÔÚ°¢ÀOÍÅÒ²Ö§³Å×ŷdz£ÓÐÌôÕ½µÄÄÚ²¿ÒµÎñ£¨ÍòÒÚ¼¶ÏûÏ¢ÌåÁ¿£©¡£´ËÍ⣬RocketMQÉÌÒµ°æAliware
MQÒѾ¶ÔÍâÔÆÊä³ö2ÄêÖ®¾Ã£¬·þÎñÁ˹úÄÚÍâÉÏǧ¼ÒÆóÒµ¡£³ýÁËÕâЩ£¬ÍŶÓÒ²ÔÚ»ý¼«´òÔìÏûÏ¢Á÷¼ÆËãÉú̬£¬ÔÚKafka£¬RabbitMQ£¬Öм̺ÍÊý¾Ýͬ²½µÈ²úÆ·ÉϳÖÐø¸ûÔÅ¡£×î½ü£¬OpenMessaging±ê×¼ÏîĿҲÕýʽÈëפLinux»ù½ð»á£¬ÕâÒ²ÊǹúÄÚÊ׸öÔÚÈ«Çò·¶Î§ÄÚ·¢ÆðµÄ·Ö²¼Ê½ÏûÏ¢ÁìÓò¹ú¼Ê±ê×¼¡£ËùÓÐÕâÒ»ÇУ¬¶ÔÍŶÓÀ´Ëµ¶¼¼«¾ßÌôÕ½£¬ÎÒÃÇÏ£ÍûÔÚ·Ö²¼Ê½¡¢´óÊý¾Ý¡¢¶àÓïÑԼܹ¹ÁìÓòÓнϸßÔìÒ裬ÓÐ×·ÇóµÄͬѧ¼ÓÈëÍŶӣ¬¶øÍŶÓÒ²»áŬÁ¦Ìṩ¼«¾ßÌôÕ½µÄʩչ¿Õ¼ä¡£ÎÒÃÇÖØÊӳɳ¤£¬¹Ø×¢¿É³ÖÐø·¢Õ¹¡£Apache
RocketMQ¶¥¼¶ÏîÄ¿µÄ±ÏÒµÖ»ÊÇÒ»¸ö¿ªÊ¼¡£Ç°Â·ÂþÂþ£¬Î´À´¿ÉÆÚ£¡ |