±àÕß°´£ºInfoQ¿ªÉèÀ¸Ä¿¡°Æ·Î¶ÊéÏ㡱£¬¾«Ñ¡¼¼ÊõÊé¼®µÄ¾«²ÊÕ½ڣ¬ÒÔ¼°·ÖÏí¿´ÍêÊéÁôϵÄ˼¿¼ºÍÊÕ»ñ£¬»¶Ó´ó¼Ò¹Ø×¢¡£±¾ÎĽÚÑ¡×ÔÀîÁÖ·æÖø¡¶·Ö²¼Ê½·þÎñ¿ò¼ÜÔÀíÓëʵ¼ù¡·ÖеÄÕ½ڡ°·þÎñ»¯×î¼Ñʵ¼ù¡±£¬¶Ô·þÎñ»¯Ö®ºóÃæÁÙµÄÌôÕ½½øÐзÖÎö£¬²¢¸ø³ö½â¾ö·½°¸ºÍÒµÎñ×î¼Ñʵ¼ù¡£
ÔÚ·þÎñ»¯Ö®Ç°£¬ÒµÎñͨ³£¶¼ÊDZ¾µØAPIµ÷Ó㬱¾µØ·½·¨µ÷ÓÃÐÔÄÜËðºÄ½ÏС¡£·þÎñ»¯Ö®ºó£¬·þÎñÌṩÕߺÍÏû·ÑÕßÖ®¼ä²ÉÓÃÔ¶³ÌÍøÂçͨÐÅ£¬Ôö¼ÓÁ˶îÍâµÄÐÔÄÜËðºÄ£¬ÒµÎñµ÷ÓõÄʱÑÓ½«Ôö´ó£¬Í¬Ê±ÓÉÓÚÍøÂçÉÁ¶ÏµÈÔÒò£¬·Ö²¼Ê½µ÷ÓÃʧ°ÜµÄ·çÏÕÒ²Ôö´ó¡£Èç¹û·þÎñ¿ò¼ÜûÓÐ×ã¹»µÄÈÝ´íÄÜÁ¦£¬ÒµÎñʧ°ÜÂʽ«»á´ó·ùÌáÉý¡£
³ýÁËÐÔÄÜ¡¢¿É¿¿ÐÔµÈÎÊÌ⣬¿ç½ÚµãµÄÊÂÎñÒ»ÖÂÐÔÎÊÌâ¡¢·Ö²¼Ê½µ÷ÓôøÀ´µÄ¹ÊÕ϶¨½çÀ§ÄÑ¡¢º£Á¿Î¢·þÎñÔËά³É±¾Ôö¼ÓµÈÒ²ÊÇ·Ö²¼Ê½·þÎñ¿ò¼Ü±ØÐëÒª½â¾öµÄÄÑÌâ¡£±¾Õ½ÚÎÒÃǽ«¶Ô·þÎñ»¯Ö®ºóÃæÁÙµÄÌôÕ½½øÐзÖÎö£¬²¢¸ø³ö½â¾ö·½°¸ºÍÒµÎñ×î¼Ñʵ¼ù¡£
1. ÐÔÄܺÍʱÑÓÎÊÌâ
ÔÚ·þÎñ»¯Ö®Ç°£¬ÒµÎñͨ³£¶¼ÊDZ¾µØAPIµ÷Ó㬱¾µØ·½·¨µ÷ÓÃÐÔÄÜËðºÄ½ÏС¡£·þÎñ»¯Ö®ºó£¬·þÎñÌṩÕߺÍÏû·ÑÕßÖ®¼ä²ÉÓÃÔ¶³ÌÍøÂçͨÐÅ£¬Ôö¼ÓÁ˶îÍâµÄÐÔÄÜËðºÄ£º
1£© ¿Í»§¶ËÐèÒª¶ÔÏûÏ¢½øÐÐÐòÁл¯£¬Ö÷ÒªÕ¼ÓÃCPU¼ÆËã×ÊÔ´¡£
2£© ÐòÁл¯Ê±ÐèÒª´´½¨¶þ½øÖÆÊý×飬ºÄ·ÑJVM¶ÑÄÚ´æ»òÕß¶ÑÍâÄÚ´æ¡£
3£© ¿Í»§¶ËÐèÒª½«ÐòÁл¯Ö®ºóµÄ¶þ½øÖÆÊý×é·¢Ë͸ø·þÎñ¶Ë£¬Õ¼ÓÃÍøÂç´ø¿í×ÊÔ´¡£
4£© ·þÎñ¶Ë¶ÁÈ¡µ½ÂëÁ÷Ö®ºó£¬ÐèÒª½«ÇëÇóÊý¾Ý±¨·´ÐòÁл¯³ÉÇëÇó¶ÔÏó£¬Õ¼ÓÃCPU¼ÆËã×ÊÔ´¡£
5£© ·þÎñ¶Ëͨ¹ý·´ÉäµÄ·½Ê½µ÷Ó÷þÎñÌṩÕßʵÏÖÀ࣬·´Éä±¾Éí¶ÔÐÔÄÜÓ°Ïì¾Í±È½Ï´ó¡£
6£© ·þÎñ¶Ë½«ÏìÓ¦½á¹ûÐòÁл¯£¬Õ¼ÓÃCPU¼ÆËã×ÊÔ´¡£
7£© ·þÎñ¶Ë½«Ó¦´ðÂëÁ÷·¢Ë͸ø¿Í»§¶Ë£¬Õ¼ÓÃÍøÂç´ø¿í×ÊÔ´¡£
8£© ¿Í»§¶Ë¶ÁȡӦ´ðÂëÁ÷£¬·´ÐòÁл¯³ÉÏìÓ¦ÏûÏ¢£¬Õ¼ÓÃCPU×ÊÔ´¡£
ͨ¹ý·ÖÎöÎÒÃÇ·¢ÏÖ£¬Ò»¸ö¼òµ¥µÄ±¾µØ·½·¨µ÷Óã¬Çл»³ÉÔ¶³Ì·þÎñµ÷ÓÃÖ®ºó£¬¶îÍâÔö¼ÓÁ˺ܶദÀíÁ÷³Ì£¬²»½öÕ¼ÓôóÁ¿µÄϵͳ×ÊÔ´£¬Í¬Ê±Ôö¼ÓÁËʱÑÓ¡£Ò»Ð©¸´ÔÓµÄÓ¦Óûá²ð·Ö³É¶à¸ö·þÎñ£¬ÐγɷþÎñµ÷ÓÃÁ´£¬Èç¹û·þÎñ»¯¿ò¼ÜµÄÐÔÄܱȽϲ·þÎñµ÷ÓÃʱÑÓÒ²±È½Ï´ó£¬ÒµÎñ·þÎñ»¯Ö®ºóµÄÐÔÄܺÍʱÑÓ½«ÎÞ·¨Âú×ãÒµÎñµÄÐÔÄÜÐèÇó
1.1¡¡RPC¿ò¼Ü¸ßÐÔÄÜÉè¼Æ
Ó°ÏìRPC¿ò¼ÜÐÔÄܵÄÖ÷ÒªÒòËØÓÐÈý¸ö¡£
1£© I/Oµ÷¶ÈÄ£ÐÍ£ºÍ¬²½×èÈûI/O£¨BIO£©»¹ÊÇ·Ç×èÈûI/O£¨NIO£©¡£
2£© ÐòÁл¯¿ò¼ÜµÄÑ¡Ôñ£ºÎı¾ÐÒé¡¢¶þ½øÖÆÐÒé»òѹËõ¶þ½øÖÆÐÒé¡£
3£© Ï̵߳÷¶ÈÄ£ÐÍ£º´®Ðе÷¶È»¹ÊDz¢Ðе÷¶È£¬Ëø¾ºÕù»¹ÊÇÎÞËø»¯Ëã·¨¡£
1. I/Oµ÷¶ÈÄ£ÐÍ
ÔÚI/O±à³Ì¹ý³ÌÖУ¬µ±ÐèҪͬʱ´¦Àí¶à¸ö¿Í»§¶Ë½ÓÈëÇëÇóʱ£¬¿ÉÒÔÀûÓöàÏ̻߳òÕßI/O¶à·¸´Óü¼Êõ½øÐд¦Àí¡£I/O¶à·¸´Óü¼Êõͨ¹ý°Ñ¶à¸öI/OµÄ×èÈû¸´Óõ½Í¬Ò»¸öselectµÄ×èÈûÉÏ£¬´Ó¶øÊ¹µÃϵͳÔÚµ¥Ï̵߳ÄÇé¿öÏ¿ÉÒÔͬʱ´¦Àí¶à¸ö¿Í»§¶ËÇëÇó¡£Ó봫ͳµÄ¶àÏß³Ì/¶à½ø³ÌÄ£Ðͱȣ¬I/O¶à·¸´ÓõÄ×î´óÓÅÊÆÊÇϵͳ¿ªÏúС£¬ÏµÍ³²»ÐèÒª´´½¨ÐµĶîÍâ½ø³Ì»òÕßỊ̈߳¬Ò²²»ÐèҪά»¤ÕâЩ½ø³ÌºÍÏ̵߳ÄÔËÐУ¬½µµÍÁËϵͳµÄά»¤¹¤×÷Á¿£¬½ÚÊ¡ÁËϵͳ×ÊÔ´¡£
JDK1.5_update10°æ±¾Ê¹ÓÃepollÌæ´úÁË´«Í³µÄselect/poll£¬¼«´óµØÌáÉýÁËNIOͨÐŵÄÐÔÄÜ£¬ËüµÄ¹¤×÷ÔÀíÈçͼ1-1Ëùʾ¡£

ͼ1-1¡¡·Ç×èÈûI/O¹¤×÷ÔÀí
NettyÊÇÒ»¸ö¿ªÔ´µÄ¸ßÐÔÄÜNIOͨÐÅ¿ò¼Ü£ºËüµÄI/OÏß³ÌNioEventLoopÓÉÓÚ¾ÛºÏÁ˶à·¸´ÓÃÆ÷Selector£¬¿ÉÒÔͬʱ²¢·¢´¦Àí³É°ÙÉÏǧ¸ö¿Í»§¶ËChannel¡£ÓÉÓÚ¶Áд²Ù×÷¶¼ÊÇ·Ç×èÈûµÄ£¬Õâ¾Í¿ÉÒÔ³ä·ÖÌáÉýI/OÏ̵߳ÄÔËÐÐЧÂÊ£¬±ÜÃâÓÉÓÚÆµ·±I/O×èÈûµ¼ÖµÄÏß³Ì¹ÒÆð¡£ÁíÍ⣬ÓÉÓÚNetty²ÉÓÃÁËÒ첽ͨÐÅģʽ£¬Ò»¸öI/OÏ߳̿ÉÒÔ²¢·¢´¦ÀíN¸ö¿Í»§¶ËÁ¬½ÓºÍ¶Áд²Ù×÷£¬Õâ´Ó¸ù±¾ÉϽâ¾öÁË´«Í³Í¬²½×èÈûI/OÒ»Á¬½ÓÒ»Ïß³ÌÄ£ÐÍ£¬¼Ü¹¹µÄÐÔÄÜ¡¢µ¯ÐÔÉìËõÄÜÁ¦ºÍ¿É¿¿ÐÔ¶¼µÃµ½Á˼«´óµÄÌáÉý¡£
Netty±»¾«ÐÄÉè¼Æ£¬ÌṩÁ˺ܶà¶ÀÌØµÄÐÔÄÜÌáÉýÌØÐÔ£¬Ê¹Ëü×öµ½ÁËÔÚ¸÷ÖÖNIO¿ò¼ÜÖÐÐÔÄÜÅÅÃûµÚÒ»£¬ËüµÄÐÔÄÜÓÅ»¯´ëÊ©×ܽáÈçÏ¡£
1£© Á㿽±´£º£¨1£©NettyµÄ½ÓÊպͷ¢ËÍByteBuffer²ÉÓÃDIRECT BUFFERS£¬Ê¹ÓöÑÍâÖ±½ÓÄÚ´æ½øÐÐSocket¶Áд£¬²»ÐèÒª½øÐÐ×Ö½Ú»º³åÇøµÄ¶þ´Î¿½±´¡£Èç¹ûʹÓô«Í³µÄ¶ÑÄڴ棨HEAP BUFFERS£©½øÐÐSocket¶Áд£¬JVM»á½«¶ÑÄÚ´æBuffer¿½±´Ò»·Ýµ½Ö±½ÓÄÚ´æÖУ¬È»ºó²ÅдÈëSocketÖС£Ïà±ÈÓÚ¶ÑÍâÖ±½ÓÄڴ棬ÏûÏ¢ÔÚ·¢Ë͹ý³ÌÖжàÁËÒ»´Î»º³åÇøµÄÄڴ濽±´¡££¨2£©NettyÌṩÁË×éºÏBuffer¶ÔÏ󣬿ÉÒԾۺ϶à¸öByteBuffer¶ÔÏó£¬Óû§¿ÉÒÔÏñ²Ù×÷Ò»¸öBufferÄÇÑù·½±ãµØ¶Ô×éºÏBuffer½øÐвÙ×÷£¬±ÜÃâÁË´«Í³Í¨¹ýÄڴ濽±´µÄ·½Ê½½«¼¸¸öСBufferºÏ²¢³ÉÒ»¸ö´óµÄBuffer¡££¨3£©NettyµÄÎļþ´«Êä²ÉÓÃÁËtransferTo·½·¨£¬Ëü¿ÉÒÔÖ±½Ó½«Îļþ»º³åÇøµÄÊý¾Ý·¢Ë͵½Ä¿±êChannel£¬±ÜÃâÁË´«Í³Í¨¹ýÑ»·write·½Ê½µ¼ÖµÄÄڴ濽±´ÎÊÌâ¡£
2£© ÄÚ´æ³Ø£ºËæ×ÅJVMÐéÄâ»úºÍJIT¼´Ê±±àÒë¼¼ÊõµÄ·¢Õ¹£¬¶ÔÏóµÄ·ÖÅäºÍ»ØÊÕÊǸö·Ç³£ÇáÁ¿¼¶µÄ¹¤×÷¡£µ«ÊǶÔÓÚ»º³åÇøBuffer£¬Çé¿öÈ´ÉÔÓв»Í¬£¬ÌرðÊǶÔÓÚ¶ÑÍâÖ±½ÓÄÚ´æµÄ·ÖÅäºÍ»ØÊÕ£¬ÊÇÒ»¼þºÄʱµÄ²Ù×÷¡£ÎªÁ˾¡Á¿ÖØÓûº³åÇø£¬NettyÌṩÁË»ùÓÚÄÚ´æ³ØµÄ»º³åÇøÖØÓûúÖÆ¡£ÐÔÄܲâÊÔ±íÃ÷£¬²ÉÓÃÄÚ´æ³ØµÄByteBufÏà±ÈÓÚ³¯ÉúϦÃðµÄByteBuf£¬ÐÔÄܸß23±¶×óÓÒ£¨ÐÔÄÜÊý¾ÝÓëʹÓó¡¾°Ç¿Ïà¹Ø£©¡£
3£© ÎÞËø»¯µÄ´®ÐÐÉè¼Æ£ºÔÚ´ó¶àÊý³¡¾°Ï£¬²¢ÐжàÏ̴߳¦Àí¿ÉÒÔÌáÉýϵͳµÄ²¢·¢ÐÔÄÜ¡£µ«ÊÇ£¬Èç¹û¶ÔÓÚ¹²Ïí×ÊÔ´µÄ²¢·¢·ÃÎÊ´¦Àí²»µ±£¬»á´øÀ´ÑÏÖØµÄËø¾ºÕù£¬Õâ×îÖջᵼÖÂÐÔÄܵÄϽµ¡£ÎªÁ˾¡¿ÉÄܵرÜÃâËø¾ºÕù´øÀ´µÄÐÔÄÜËðºÄ£¬¿ÉÒÔͨ¹ý´®Ðл¯Éè¼Æ£¬¼´ÏûÏ¢µÄ´¦Àí¾¡¿ÉÄÜÔÚͬһ¸öÏß³ÌÄÚÍê³É£¬ÆÚ¼ä²»½øÐÐÏß³ÌÇл»£¬ÕâÑù¾Í±ÜÃâÁ˶àÏ߳̾ºÕùºÍͬ²½Ëø¡£ÎªÁ˾¡¿ÉÄÜÌáÉýÐÔÄÜ£¬Netty²ÉÓÃÁË´®ÐÐÎÞËø»¯Éè¼Æ£¬ÔÚI/OÏß³ÌÄÚ²¿½øÐд®ÐвÙ×÷£¬±ÜÃâ¶àÏ߳̾ºÕùµ¼ÖµÄÐÔÄÜϽµ¡£±íÃæÉÏ¿´£¬´®Ðл¯Éè¼ÆËÆºõCPUÀûÓÃÂʲ»¸ß£¬²¢·¢³Ì¶È²»¹»¡£µ«ÊÇ£¬Í¨¹ýµ÷ÕûNIOÏ̳߳صÄÏ̲߳ÎÊý£¬¿ÉÒÔͬʱÆô¶¯¶à¸ö´®Ðл¯µÄÏ̲߳¢ÐÐÔËÐУ¬ÕâÖÖ¾Ö²¿ÎÞËø»¯µÄ´®ÐÐÏß³ÌÉè¼ÆÏà±ÈÒ»¸ö¶ÓÁÐ-¶à¸ö¹¤×÷Ïß³ÌÄ£ÐÍÐÔÄܸüÓÅ¡£
4£© ¸ßЧµÄ²¢·¢±à³Ì£ºvolatileµÄ´óÁ¿¡¢ÕýȷʹÓã»CASºÍÔ×ÓÀàµÄ¹ã·ºÊ¹Óã»Ḭ̈߳²È«ÈÝÆ÷µÄʹÓã»Í¨¹ý¶ÁÐ´ËøÌáÉý²¢·¢ÐÔÄÜ¡£
2. ¸ßÐÔÄÜÐòÁл¯¿ò¼Ü
Ó°ÏìÐòÁл¯ÐÔÄܵĹؼüÒòËØ×ܽáÈçÏ¡£
1£© ÐòÁл¯ºóµÄÂëÁ÷´óС£¨ÍøÂç´ø¿íµÄÕ¼Óã©¡£
2£© ÐòÁл¯&·´ÐòÁл¯µÄÐÔÄÜ£¨CPU×ÊÔ´Õ¼Óã©¡£
3£© ÊÇ·ñÖ§³Ö¿çÓïÑÔ£¨Ò칹ϵͳµÄ¶Ô½ÓºÍ¿ª·¢ÓïÑÔÇл»£©¡£
4£© ²¢·¢µ÷ÓõÄÐÔÄܱíÏÖ£ºÎȶ¨ÐÔ¡¢ÏßÐÔÔö³¤¡¢Å¼ÏÖµÄʱÑÓë´ÌµÈ¡£
Ïà±ÈÓÚJSONµÈÎı¾ÐÒ飬¶þ½øÖÆÐòÁл¯¿ò¼ÜÐÔÄܸüÓÅÒ죬ÒÔJavaÔÉúÐòÁл¯ºÍProtobuf¶þ½øÖÆÐòÁл¯ÎªÀý½øÐÐÐÔÄܲâÊԶԱȣ¬½á¹ûÈçͼ1-2Ëùʾ

ͼ1-2¡¡ÐòÁл¯ÐÔÄܲâÊÔ¶Ô±ÈÊý¾Ý
ÔÚÐòÁл¯¿ò¼ÜµÄ¼¼ÊõÑ¡ÐÍÖУ¬ÈçÎÞÌØÊâÒªÇ󣬾¡Á¿Ñ¡ÔñÐÔÄܸüÓŵĶþ½øÖÆÐòÁл¯¿ò¼Ü£¬ÂëÁ÷ÊÇ·ñѹËõ£¬ÔòÐèÒª¸ù¾ÝͨÐÅÄÚÈÝ×öÁé»îÑ¡Ôñ£¬¶ÔÓÚͼƬ¡¢ÒôƵ¡¢ÓдóÁ¿Öظ´ÄÚÈݵÄÎı¾Îļþ£¨ÀýÈçС˵£©¿ÉÒÔ²ÉÓÃÂëÁ÷ѹËõ£¬³£ÓõÄѹËõËã·¨°üÀ¨GZip¡¢Zig-ZagµÈ¡£
3. ¸ßÐÔÄܵÄReactorÏß³ÌÄ£ÐÍ
¸ÃÄ£Ð͵ÄÌØµã×ܽáÈçÏ¡£
1£© ÓÐרÃÅÒ»¸öNIOỊ̈߳ºAcceptorÏß³ÌÓÃÓÚ¼àÌý·þÎñ¶Ë£¬½ÓÊÕ¿Í»§¶ËµÄTCPÁ¬½ÓÇëÇó¡£
2£© ÍøÂçI/O²Ù×÷£º¶Á¡¢Ð´µÈÓÉÒ»¸öNIOÏ̳߳ظºÔð£¬Ï̳߳ؿÉÒÔ²ÉÓñê×¼µÄJDKÏ̳߳ØÊµÏÖ£¬Ëü°üº¬Ò»¸öÈÎÎñ¶ÓÁкÍN¸ö¿ÉÓõÄỊ̈߳¬ÓÉÕâЩNIOÏ̸߳ºÔðÏûÏ¢µÄ¶ÁÈ¡¡¢½âÂë¡¢±àÂëºÍ·¢ËÍ¡£
3£© 1¸öNIOÏ߳̿ÉÒÔͬʱ´¦ÀíNÌõÁ´Â·£¬µ«ÊÇ1¸öÁ´Â·Ö»¶ÔÓ¦1¸öNIOỊ̈߳¬·ÀÖ¹²úÉú²¢·¢²Ù×÷¡£
ÓÉÓÚReactorģʽʹÓõÄÊÇÒì²½·Ç×èÈûI/O£¬ËùÓеÄI/O²Ù×÷¶¼²»»áµ¼ÖÂ×èÈû£¬ÀíÂÛÉÏÒ»¸öÏ߳̿ÉÒÔ¶ÀÁ¢´¦ÀíËùÓÐI/OÏà¹ØµÄ²Ù×÷£¬Òò´ËÔÚ¾ø´ó¶àÊý³¡¾°Ï£¬Reactor¶àÏß³ÌÄ£ÐͶ¼¿ÉÒÔÍêÈ«Âú×ãÒµÎñÐÔÄÜÐèÇó¡£
ReactorÏ̵߳÷¶ÈÄ£Ð͵Ť×÷ÔÀíʾÒâÈçͼ1-3Ëùʾ¡£

ͼ1-3¡¡¸ßÐÔÄܵÄReactorÏ̵߳÷¶ÈÄ£ÐÍ
1.2¡¡ÒµÎñ×î¼Ñʵ¼ù
Òª±£Ö¤¸ßÐÔÄÜ£¬µ¥ÒÀ¿¿·Ö²¼Ê½·þÎñ¿ò¼ÜÊDz»¹»µÄ£¬»¹ÐèÒªÓ¦ÓõÄÅäºÏ£¬Ó¦Ó÷þÎñ»¯¸ßÐÔÄÜʵ¼ù×ܽáÈçÏ£º
1£© ÄÜÒì²½µÄ¾¡¿ÉÄÜʹÓÃÒì²½»òÕß²¢ÐзþÎñµ÷Óã¬ÌáÉý·þÎñµÄÍÌÍÂÁ¿£¬ÓÐЧ½µµÍ·þÎñµ÷ÓÃʱÑÓ¡£
2£© ÎÞÂÛÊÇNIOͨÐÅ¿ò¼ÜµÄÏ̳߳ػ¹ÊǺó¶ËÒµÎñÏ̳߳أ¬Ï̲߳ÎÊýµÄÅäÖñØÐëºÏÀí¡£Èç¹û²ÉÓÃJDKĬÈϵÄÏ̳߳أ¬×î´óÏß³ÌÊý½¨Òé²»³¬¹ý20¸ö¡£ÒòΪJDKµÄÏ̳߳ØÄ¬ÈϲÉÓÃN¸öÏß³ÌÕùÓÃ1¸öͬ²½×èÈû¶ÓÁз½Ê½£¬µ±Ïß³ÌÊý¹ý´óʱ£¬»áµ¼Ö¼¤ÁÒµÄËø¾ºÕù£¬´ËʱÐÔÄܲ»½ö²»»áÌáÉý£¬·´¶ø»áϽµ¡£
3£© ¾¡Á¿¼õСҪ´«ÊäµÄÂëÁ÷´óС£¬ÌáÉýÐÔÄÜ¡£±¾µØµ÷ÓÃʱ£¬ÓÉÓÚÔÚͬһ¿é¶ÑÄÚ´æÖзÃÎÊ£¬²ÎÊý´óС¶ÔÐÔÄÜûÓÐÈκÎÓ°Ïì¡£¿ç½ø³ÌͨÐÅʱ£¬ÍùÍù´«µÝµÄÊǸö¸´ÔÓ¶ÔÏó£¬Èç¹ûÃ÷È·¶Ô·½Ö»Ê¹ÓÃÆäÖеÄij¼¸¸ö×ֶλòÕßij¸ö¶ÔÏóÒýÓã¬Ôò²»Òª°ÑÕû¸ö¸´ÔÓ¶ÔÏó¶¼´«µÝ¹ýÈ¥¡£¾ÙÀý£¬¶ÔÏóA³ÖÓÐ8¸ö»ù±¾ÀàÐ͵Ä×ֶΣ¬2¸ö¸´ÔÓ¶ÔÏóBºÍC¡£Èç¹ûÃ÷È··þÎñÌṩÕßÖ»ÐèÒªÓõ½A¾ÛºÏµÄC¶ÔÏó£¬ÔòÇëÇó²ÎÊýÓ¦¸ÃÊÇC£¬¶ø²»ÊÇÕû¸ö¶ÔÏóA¡£
4£© ÉèÖúÏÊʵĿͻ§¶Ë³¬Ê±Ê±¼ä£¬·ÀÖ¹ÒµÎñ¸ß·åÆÚÒòΪ·þÎñ¶ËÏìÓ¦Âýµ¼ÖÂÒµÎñÏ̵߳ÈÓ¦´ðʱ±»×èÈû£¬½ø¶øÒýÆðºóÐøÆäËû·þÎñµÄÏûÏ¢ÔÚ¶ÓÁÐÖÐÅŶӣ¬Ôì³É¹ÊÕÏÀ©É¢¡£
5£© ¶ÔÓÚÖØÒªµÄ·þÎñ£¬¿ÉÒÔµ¥¶À²¿Êðµ½¶ÀÁ¢µÄ·þÎñÏ̳߳ØÖУ¬ÓëÆäËû·ÇºËÐÄ·þÎñ×ö¸ôÀ룬±£ÕϺËÐÄ·þÎñµÄ¸ßЧÔËÐС£
6£© ÀûÓÃDockerµÈÇáÁ¿¼¶OSÈÝÆ÷²¿Êð·þÎñ£¬¶Ô·þÎñ×öÎïÀí×ÊÔ´²ã¸ôÀ룬±ÜÃâÐéÄ⻯֮ºóµ¼Öµij¬¹ý20%µÄÐÔÄÜËðºÄ¡£
7£© ÉèÖúÏÀíµÄ·þÎñµ÷¶ÈÓÅÏȼ¶£¬²¢¸ù¾ÝÏßÉÏÐÔÄÜ¼à¿ØÊý¾Ý×öʵʱµ÷Õû¡£
2. ÊÂÎñÒ»ÖÂÐÔÎÊÌâ
·þÎñ»¯Ö®Ç°£¬ÒµÎñ²ÉÓñ¾µØÊÂÎñ£¬¶à¸ö±¾µØSQLµ÷ÓÿÉÒÔÓÃÒ»¸ö´óµÄÊÂÎñ¿é·â×°ÆðÀ´£¬Èç¹ûijһ¸öÊý¾Ý¿â²Ù×÷·¢ÉúÒì³££¬¾Í¿ÉÒÔ½«Ö®Ç°µÄSQL²Ù×÷½øÐлعö£¬Ö»ÓÐËùÓÐSQL²Ù×÷È«²¿³É¹¦£¬²Å×îÖÕÌá½»£¬Õâ¾Í±£Ö¤ÁËÊÂÎñǿһÖÂÐÔ£¬Èçͼ2-1Ëùʾ¡£

ͼ2-1 ±¾µØÊÂÎñ¹¤×÷ÔÀí
·þÎñ»¯Ö®ºó£¬Èý¸öÊý¾Ý¿â²Ù×÷¿ÉÄܱ»²ð·Öµ½¶ÀÁ¢µÄÈý¸öÊý¾Ý¿â·ÃÎÊ·þÎñÖУ¬´ËʱÔÀ´µÄ±¾µØSQLµ÷ÓÃÑݱä³ÉÁËÔ¶³Ì·þÎñµ÷Óã¬ÊÂÎñÒ»ÖÂÐÔÎÞ·¨µÃµ½±£Ö¤£¬Èçͼ2-2Ëùʾ

ͼ2-2¡¡·þÎñ»¯Ö®ºóÒýÈë·Ö²¼Ê½ÊÂÎñÎÊÌâ
¼ÙÈç·þÎñAºÍ·þÎñBµ÷Óóɹ¦£¬ÔòAºÍBµÄSQL½«»á±»Ìá½»£¬×îºóÖ´ÐзþÎñC£¬ËüµÄSQL²Ù×÷ʧ°Ü£¬¶ÔÓÚÓ¦ÓÃ1Ïû·ÑÕß¶øÑÔ£¬·þÎñAºÍ·þÎñBµÄÏà¹ØSQL²Ù×÷ÒѾÌá½»£¬·þÎñC·¢ÉúÁ˻عö£¬Õâ¾Íµ¼ÖÂÊÂÎñ²»Ò»Ö¡£´Óͼ2-2¿ÉÒÔµÃÖª£¬·þÎñ»¯Ö®ºóÊÂÎñ²»Ò»ÖÂÖ÷ÒªÊÇÓÉ·þÎñ·Ö²¼Ê½²¿Êðµ¼Öµģ¬Òò´ËÒ²±»³ÆÎª·Ö²¼Ê½ÊÂÎñÎÊÌâ¡£
2.1¡¡·Ö²¼Ê½ÊÂÎñÉè¼Æ·½°¸
ͨ³££¬·Ö²¼Ê½ÊÂÎñ»ùÓÚÁ½½×¶ÎÌύʵÏÖ£¬ËüµÄ¹¤×÷ÔÀíʾÒâͼÈçͼ2-3Ëùʾ¡£

ͼ2-3¡¡Á½½×¶ÎÌá½»ÔÀíͼ
½×¶Î1£ºÈ«¾ÖÊÂÎñ¹ÜÀíÆ÷ÏòËùÓÐÊÂÎñ²ÎÓëÕß·¢ËÍ×¼±¸ÇëÇó£»ÊÂÎñ²ÎÓëÕßÏòÈ«¾ÖÊÂÎñ¹ÜÀíÆ÷»Ø¸´×Ô¼ºÊÇ·ñ×¼±¸¾ÍÐ÷¡£
½×¶Î2£ºÈ«¾ÖÊÂÎñ¹ÜÀíÆ÷½ÓÊÕµ½ËùÓÐÊÂÎñ²ÎÓëÕߵĻظ´Ö®ºó×öÅжϣ¬Èç¹ûËùÓÐÊÂÎñ²ÎÓëÕß¶¼¿ÉÒÔÌá½»£¬ÔòÏòËùÓÐÊÂÎñÌá½»Õß·¢ËÍÌá½»ÉêÇ룬·ñÔò½øÐлعö¡£ÊÂÎñ²ÎÓëÕ߸ù¾ÝÈ«¾ÖÊÂÎñ¹ÜÀíÆ÷µÄÖ¸Áî½øÐÐÌá½»»òÕ߻عö²Ù×÷¡£
·Ö²¼Ê½ÊÂÎñ»Ø¹öÔÀíͼÈçͼ2-4Ëùʾ

ͼ2-4¡¡·Ö²¼Ê½ÊÂÎñ»Ø¹öÔÀíͼ
Á½½×¶ÎÌá½»²ÉÓõÄÊDZ¯¹ÛËø²ßÂÔ£¬ÓÉÓÚ¸÷¸öÊÂÎñ²ÎÓëÕßÐèÒªµÈ´ýÏìÓ¦×îÂýµÄ²ÎÓëÕߣ¬Òò´ËÐÔÄܱȽϲµÚÒ»¸öÎÊÌâÊÇÐÒé±¾ÉíµÄ³É±¾£ºÕû¸öÐÒé¹ý³ÌÊÇÐèÒª¼ÓËøµÄ£¬±ÈÈçËø×¡Êý¾Ý¿âµÄijÌõ¼Ç¼£¬ÇÒÐèÒª³Ö¾Ã»¯´óÁ¿ÊÂÎñ״̬Ïà¹ØµÄ²Ù×÷ÈÕÖ¾¡£¸üΪÂé·³µÄÊÇ£¬Á½½×¶ÎËøÔÚ³öÏÖ¹ÊÕÏʱ±íÏÖ³öÀ´µÄ´àÈõÐÔ£¬±ÈÈçÁ½½×¶ÎËøµÄÖÂÃüȱÏÝ£ºµ±Ðµ÷Õß³öÏÖ¹ÊÕÏ£¬Õû¸öÊÂÎñÐèÒªµÈµ½Ðµ÷Õ߻ָ´ºó²ÅÄܼÌÐøÖ´ÐУ¬Èç¹ûе÷Õß³öÏÖÀàËÆ´ÅÅ̹ÊÕϵȴíÎ󣬸ÃÊÂÎñ½«±»ÓÀ¾ÃÒÅÆú¡£
¶ÔÓÚ·Ö²¼Ê½·þÎñ¿ò¼Ü¶øÑÔ£¬´Ó¹¦ÄÜÌØÐÔÉÏÐèÒªÖ§³Ö·Ö²¼Ê½ÊÂÎñ¡£ÔÚʵ¼ÊÒµÎñʹÓùý³ÌÖУ¬Èç¹ûÄܹ»Í¨¹ý×îÖÕÒ»ÖÂÐÔ½â¾öÎÊÌ⣬Ôò²»ÐèÒª×öǿһÖÂÐÔ£»Èç¹ûÄܹ»±ÜÃâ·Ö²¼Ê½ÊÂÎñ£¬Ôò¾¡Á¿ÔÚÒµÎñ²ã±ÜÃâʹÓ÷ֲ¼Ê½ÊÂÎñ¡£
2.2¡¡·Ö²¼Ê½ÊÂÎñÓÅ»¯
¼ÈÈ»·Ö²¼Ê½ÊÂÎñÓÐÖî¶àȱµã£¬ÄÇôΪʲôÎÒÃÇ»¹ÔÚʹÓÃÄØ£¿ÓÐûÓиüºÃµÄ½â¾ö·½°¸À´¸Ä½ø»òÕßÌæ»»ÄØ£¿Èç¹ûÎÒÃÇÖ»ÊÇÕë¶Ô·Ö²¼Ê½ÊÂÎñÈ¥ÓÅ»¯µÄ»°£¬·¢ÏÖÆäʵÄܸĽøµÄ¿Õ¼äºÜС£¬±Ï¾¹Æ¿¾±ÔÚ·Ö²¼Ê½ÊÂÎñÄ£Ðͱ¾Éí¡£
ÄÇÎÒÃǻص½ÎÊÌâµÄ¸ùÔ´£ºÎªÊ²Ã´ÎÒÃÇÐèÒª·Ö²¼Ê½ÊÂÎñ£¿ÒòΪÎÒÃÇÐèÒª¸÷¸ö×ÊÔ´Êý¾Ý±£³ÖÒ»ÖÂÐÔ£¬µ«ÊǶÔÓÚ·Ö²¼Ê½ÊÂÎñÌṩµÄǿһÖÂÐÔ£¬ËùÓÐÒµÎñ³¡¾°ÕæµÄ¶¼ÐèÒªÂ𣿴ó¶àÊýÒµÎñ³¡¾°¶¼ÄÜÈÝÈ̶ÌÔݵIJ»Ò»Ö£¬²»Í¬µÄÒµÎñ¶Ô²»Ò»ÖµÄÈÝÈÌʱ¼ä²»Í¬¡£ÏñÒøÐÐתÕËÒµÎñ£¬ÖмäÓм¸·ÖÖӵIJ»Ò»ÖÂʱ¼ä£¬Óû§Í¨³£¶¼ÊÇ¿ÉÒÔÀí½âºÍÈÝÈ̵ġ£
ÔÚ´ó¶àÊýµÄÒµÎñ³¡¾°ÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃ×îÖÕÒ»ÖÂÐÔÌæ´ú´«Í³µÄǿһÖÂÐÔ£¬¾¡Á¿±ÜÃâʹÓ÷ֲ¼Ê½ÊÂÎñ¡£
ÔÚʵ¼ùÖг£ÓõÄ×îÖÕÒ»ÖÂÐÔ·½°¸¾ÍÊÇʹÓôøÓÐÊÂÎñ¹¦ÄܵÄMQ×öÖмäÈ˽ÇÉ«£¬ËüµÄ¹¤×÷ÔÀíÈçÏ£ºÔÚ×ö±¾µØÊÂÎñ֮ǰ£¬ÏÈÏòMQ·¢ËÍÒ»¸öprepareÏûÏ¢£¬È»ºóÖ´Ðб¾µØÊÂÎñ£¬±¾µØÊÂÎñÌá½»³É¹¦µÄ»°£¬ÏòMQ·¢ËÍÒ»¸öcommitÏûÏ¢£¬·ñÔò·¢ËÍÒ»¸örollbackÏûÏ¢£¬È¡Ïû֮ǰµÄÏûÏ¢¡£MQÖ»»áÔÚÊÕµ½commitÈ·ÈϲŻὫÏûϢͶµÝ³öÈ¥£¬ËùÒÔÕâÑùµÄÐÎʽ¿ÉÒÔ±£Ö¤ÔÚÒ»ÇÐÕý³£µÄÇé¿öÏ£¬±¾µØÊÂÎñºÍMQ¿ÉÒÔ´ïµ½Ò»ÖÂÐÔ¡£µ«ÊÇ·Ö²¼Ê½µ÷ÓôæÔںܶàÒì³£³¡¾°£¬ÖîÈçÍøÂ糬ʱ¡¢VMå´»úµÈ¡£¼ÙÈçϵͳִÐÐÁËlocal_tx()³É¹¦Ö®ºó£¬»¹Ã»À´µÃ¼°½«commitÏûÏ¢·¢Ë͸øMQ£¬»òÕß˵·¢ËͳöÈ¥ÓÉÓÚÍøÂ糬ʱµÈÔÒò£¬MQûÓÐÊÕµ½commit£¬·¢ÉúÁËcommitÏûÏ¢¶ªÊ§£¬ÄÇôMQ¾Í²»»á°ÑprepareÏûϢͶµÝ³öÈ¥¡£MQ»á¸ù¾Ý²ßÂÔÈ¥³¢ÊÔѯÎÊ£¨»Øµ÷£©·¢ÏûÏ¢µÄϵͳ£¨checkCommit£©½øÐмì²é¸ÃÏûÏ¢ÊÇ·ñÓ¦¸ÃͶµÝ³öÈ¥»òÕß¶ªÆú£¬µÃµ½ÏµÍ³µÄÈ·ÈÏÖ®ºó£¬MQ»á×öͶµÝ»¹ÊǶªÆú£¬ÕâÑù¾ÍÍêÈ«±£Ö¤ÁËMQºÍ·¢ÏûÏ¢µÄϵͳµÄÒ»ÖÂÐÔ£¬´Ó¶ø±£Ö¤Á˽ÓÊÕÏûϢϵͳµÄÒ»ÖÂÐÔ¡£
3. Ñз¢ÍŶÓÐ×÷ÎÊÌâ
·þÎñ»¯Ö®ºó£¬ÌرðÊDzÉÓÃ΢·þÎñ¼Ü¹¹ÒÔºó¡£Ñз¢ÍŶӻᱻ²ð·Ö³É¶à¸ö·þÎñ»¯Ð¡×飬ÀýÈçAWSµÄTwo Pizza Team£¬Ã¿¸öÍŶÓÓÉ2~3ÃûÑз¢¸ºÔð·þÎñµÄ¿ª·¢¡¢²âÊÔ¡¢²¿ÊðÉÏÏß¡¢ÔËάºÍÔËÓªµÈ¡£
Ëæ×Å·þÎñÊýµÄÅòÕÍ£¬Ñз¢ÍŶӵÄÔö¶à£¬¿çÍŶӵÄÐͬÅäºÏ½«»á³ÉΪһ¸öÖÆÔ¼Ñз¢Ð§ÂÊÌáÉýµÄÒòËØ¡£
3.1¡¡¹²Ó÷þÎñ×¢²áÖÐÐÄ
ΪÁË·½±ã¿ª·¢²âÊÔ£¬¾³£»áÔÚÏßϹ²ÓÃÒ»¸öËùÓзþÎñ¹²ÏíµÄ·þÎñ×¢²áÖÐÐÄ£¬Õâʱ£¬Ò»¸öÕýÔÚ¿ª·¢ÖеķþÎñ·¢²¼µ½·þÎñ×¢²áÖÐÐÄ£¬¿ÉÄܻᵼÖÂһЩÏû·ÑÕß²»¿ÉÓá£
½â¾ö·½°¸£º¿ÉÒÔÈ÷þÎñÌṩÕß¿ª·¢·½£¬Ö»¶©ÔÄ·þÎñ£¨¿ª·¢µÄ·þÎñ¿ÉÄÜÒÀÀµÆäËû·þÎñ£©£¬¶ø²»×¢²áÕýÔÚ¿ª·¢µÄ·þÎñ£¬Í¨¹ýÖ±Á¬²âÊÔÕýÔÚ¿ª·¢µÄ·þÎñ¡£
ËüµÄ¹¤×÷ÔÀíÈçͼ3-1Ëùʾ¡£

ͼ3-1¡¡Ö»¶©ÔÄ£¬²»·¢²¼
3.2¡¡Ö±Á¬ÌṩÕß
ÔÚ¿ª·¢ºÍ²âÊÔ»·¾³Ï£¬Èç¹û¹«¹²µÄ·þÎñ×¢²áÖÐÐÄûÓд£¬Ïû·ÑÕß½«ÎÞ·¨»ñÈ¡·þÎñÌṩÕߵĵØÖ·ÁÐ±í£¬Ö»ÄÜ×ö±¾µØµ¥Ôª²âÊÔ»òʹÓÃÄ£Äâ×®²âÊÔ¡£
»¹ÓÐÒ»ÖÖ³¡¾°¾ÍÊÇÔÚʵ¼Ê²âÊÔÖУ¬·þÎñÌṩÕßÍùÍù¶àʵÀý²¿Êð£¬Èç¹û·þÎñÌṩÕß´æÔÚBug£¬¾ÍÐèÒª×öÔ¶³Ì¶Ïµãµ÷ÊÔ£¬Õâ»á´øÀ´Á½¸öÎÊÌ⣺
1£© ·þÎñÌṩÕß¶àʵÀý²¿Êð£¬Ô¶³Ìµ÷ÊÔµØÖ·ÎÞ·¨È·¶¨£¬µ÷ÊÔЧÂʵÍÏ¡£
2£© ¶à¸öÏû·ÑÕß¿ÉÄܹ²ÓÃÒ»ÌײâÊÔÁªµ÷»·¾³£¬¶Ïµãµ÷ÊÔ¹ý³ÌÖпÉÄܱ»ÆäËûÏû·ÑÕßÒâÍâ´ò¶Ï¡£
½â¾ö²ßÂÔ£ºÈƹý×¢²áÖÐÐÄ£¬Ö»²âÊÔÖ¸¶¨·þÎñÌṩÕߣ¬Õâʱºò¿ÉÄÜÐèÒªµã¶ÔµãÖ±Á¬£¬µã¶ÔµãÖ±Áª·½Ê½½«ÒÔ·þÎñ½Ó¿ÚΪµ¥Î»£¬ºöÂÔ×¢²áÖÐÐĵÄÌṩÕßÁÐ±í¡£
3.3¡¡¶àÍŶӽø¶ÈÐͬ
¼ÙÈçǰ¶ËWebÃÅ»§ÒÀÀµºǫ́A¡¢B¡¢CºÍD 4¸ö·þÎñ£¬·Ö±ðÓÉ4¸ö²»Í¬µÄÑз¢ÍŶӸºÔð£¬ÃÅ»§ÒªÇóÐÂÌØÐÔ2ÖÜÄÚÉÏÏß¡£AºÍBÄÚ²¿ÐèÇóÓÅÏȼ¶ÅÅÐò½«ÃÅ»§µÄÓÅÏȼ¶ÅŵıȽϸߣ¬¿ÉÒÔÂú×ã½»¸¶Ê±¼äµã¡£µ«ÊÇCºÍD·þÎñËùÔÚÍŶÓÓÉÓÚͬʱÐèÒª¿ª·¢ÆäËûÓÅÏȼ¶¸ü¸ßµÄ·þÎñ£¬Òò´Ë°ÑÓÅÏȼ¶ÅŵÄÏà¶Ô½ÏµÍ£¬ÎÞ·¨Âú×ã2Öܽ»¸¶¡£
ÔÚCºÍDÌṩ°æ±¾Ö®Ç°£¬ÃÅ»§Ö»ÄÜÏÈͨ¹ý´ò²âÊÔ×®µÄ·½Ê½Íê³ÉMock²âÊÔ£¬µ«ÊÇÓÉÓÚ²¢Ã»ÓÐÕæÊµµÄ²âÊÔ¹ýCºÍD·þÎñ£¬Òò´ËÐèÇóÎÞ·¨°´ÆÚ½»¸¶¡£
Ó¦ÓÃÒÀÀµµÄ·þÎñÔ½¶à£¬ÌØÐÔ½»¸¶Ð§ÂʾÍÔ½µÍÏ£¬½»¸¶µÄËÙ¶ÈÈ¡¾öÓÚÒÀÀµµÄ×î³Ù½»¸¶µÄÄǸö·þÎñ¡£¼ÙÈçWebÃÅ»§ÒÀÀµºǫ́µÄ100¸ö·þÎñ£¬Ö»Òª1¸öºËÐÄ·þÎñûÓа´ÆÚ½»¸¶£¬ÔòÕû¸ö½ø¶È¾Í»áÑÓ³Ù¡£
½â¾ö·½°¸£ºµ÷ÓÃÁ´¿ÉÒÔ½«Ó¦ÓᢷþÎñºÍÖмä¼þÖ®¼äµÄÒÀÀµ¹ØÏµ´®½Ó²¢Õ¹Ê¾³öÀ´£¬»ùÓÚµ÷ÓÃÁ´Ê×Èë¿ÚµÄ½»¸¶ÈÕÆÚ×÷ΪÊäÈ룬ÀûÓÃÒÀÀµ¹ÜÀí¹¤¾ß£¬¿ÉÒÔ×Ô¶¯¼ÆËã³öµ÷ÓÃÁ´Éϸ÷¸ö·þÎñµÄ×î³Ù½»¸¶Ê±¼äµã¡£Í¨¹ýµ÷ÓÃÁ´·ÖÎöºÍ±ê×¼»¯µÄÒÀÀµ¼ÆË㹤¾ß£¬¿ÉÒÔ±ÜÃâÈËΪÐèÇóÅÅÐòʧÎóµ¼ÖµÄÐèÇóÑÓÆÚ¡£
3.4¡¡·þÎñ½µ¼¶ºÍMock²âÊÔ
ÔÚʵ¼ÊÏîÄ¿¿ª·¢ÖУ¬ÓÉÓÚС×éÖ®¼ä¡¢¸öÈË¿ª·¢ÕßÖ®¼ä¿ª·¢½Ú×಻һÖ£¬¾³£»á³öÏÖÏû·ÑÕߵȴýÒÀÀµµÄ·þÎñÌṩÕßÌṩÁªµ÷°æ±¾µÄÇé¿ö£¬Ï໥µÈ´ý»á½µµÍÏîÄ¿µÄÑз¢½ø¶È¡£
½â¾ö·½°¸£º·þÎñÌṩÕßÊ×ÏȽ«½Ó¿Ú¶¨ÏÂÀ´²¢Ìṩ¸øÏû·ÑÕߣ¬Ïû·ÑÕß¿ÉÒÔ½«·þÎñ½µ¼¶Í¬Mock²âÊÔ½áºÏÆðÀ´£¬ÔÚMock²âÊÔ´úÂëÖÐʵÏÖÈÝ´í½µ¼¶µÄÒµÎñÂß¼£¨ÒµÎñ·Åͨ£©£¬ÕâÑù¼ÈÍê³ÉÁËMock²âÊÔ£¬ÓÖʵÏÖÁË·þÎñ½µ¼¶µÄÒµÎñÂß¼¿ª·¢£¬Ò»¾ÙÁ½µÃ¡£
3.5¡¡Ðͬµ÷ÊÔÎÊÌâ
ÔÚʵ¼ÊÏîÄ¿¿ª·¢¹ý³ÌÖУ¬¸÷Ñз¢ÍŶӽø¶È²»Ò»ÖºÜÕý³£¡£Èç¹ûÏû·ÑÕß×øµÈ·þÎñÌṩÕß°´Ê±Ìṩ°æ±¾£¬ÍùÍù»áÔì³ÉÈËÁ¦×ÊÔ´ÀË·Ñ£¬Ó°ÏìÏîÄ¿½ø¶È¡£
½â¾ö·½°¸£º·Ö²¼Ê½·þÎñ¿ò¼ÜÌṩMock×®¹ÜÀí¿ò¼Ü£¬µ±Öܱ߷þÎñÌṩÕßÉÐδÍê³É¿ª·¢Ê±£¬½«Â·ÓÉÇл»µ½Ä£Äâ²âÊÔģʽ£¬×Ô¶¯µ÷ÓÃMock×®£»ÒµÎñ¼¯³É²âÊÔºÍÉÏÏßʱ£¬ÔòÒªÄܹ»×Ô¶¯Çл»µ½ÕæÊµµÄ·þÎñÌṩÕßÉÏ£¬¿ÉÒÔ½áºÏ·þÎñ½µ¼¶¹¦ÄÜʵÏÖ¡£
3.6¡¡½Ó¿ÚǰÏò¼æÈÝÐÔ
ÓÉÓÚÏßÉϵÄBugÐÞ¸´¡¢ÄÚ²¿Öع¹ºÍÐèÇó±ä¸ü£¬·þÎñÌṩÕ߻ᾳ£ÐÞ¸ÄÄÚ²¿ÊµÏÖ£¬°üÀ¨µ«²»ÏÞÓÚ£º½Ó¿Ú²ÎÊý±ä»¯¡¢²ÎÊý×ֶα仯¡¢ÒµÎñÂß¼±ä»¯ºÍÊý¾Ý±í½á¹¹±ä»¯¡£
ÔÚʵ¼ÊÏîÄ¿Öо³£»á·¢Éú·þÎñÌṩÕßÐÞ¸ÄÁ˽ӿڻòÕßÊý¾Ý½á¹¹£¬µ«ÊDz¢Ã»Óм°Ê±Öª»áµ½ËùÓÐÏû·ÑÕߣ¬µ¼Ö·þÎñµ÷ÓÃʧ°Ü¡£
½â¾ö·½°¸£º
1£© ÖÆ¶¨²¢ÑϸñÖ´ÐС¶·þÎñǰÏò¼æÈÝÐԹ淶¡·£¬±ÜÃâ·¢Éú²»¼æÈÝÐ޸ĻòÕß˽×ÔÐ޸IJ»Í¨ÖªÖܱߵÄÇé¿ö¡£
2£© ½Ó¿Ú¼æÈÝÐÔ¼¼Êõ±£ÕÏ£ºÀýÈçThriftµÄIDL£¬Ö§³ÖÐÂÔö¡¢Ð޸ĺÍɾ³ý×ֶΣ¬×ֶζ¨ÒåλÖÃÎÞ¹ØÐÔ£¬ÂëÁ÷Ö§³ÖÂÒÐòµÈ¡£ |