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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
´«Í³¿ò¼ÜÔÆ»¯Ç¨ÒƵ½ÄÚ´æÊý¾Ýƽ̨
 
×÷ÕߣºÁõÔÆ³Ì À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-5-28
  2368  次浏览      27
 

ÕªÒª

12306»ìºÏÔÆ³É¹¦°¸Àý¸øÓè×î´óµÄÆô·¢¾ÍÊÇ´òÔìÒ»¸ö´Óϵ½É϶¼¿É×öµ¯ÐÔÀ©Õ¹µÄ¡°ÔÆÓ¦Óá±ÏµÍ³£¬ÆóÒµ¿Í»§¿É½«¹Ø¼üÒµÎñµÄ¡°×Óϵͳ¡±²¿ÊðÔÚ×ÊÔ´·á¸»µÄÔÆ¼ÆËãÊý¾ÝÖÐÐÄ£¬¡°ÔÆ»¯¡±ºóµÄ×Óϵͳ¿É¡°°´Ð衱»ñÈ¡ËùÐèÒªµÄ·þÎñÆ÷Ðé»ú×ÊÔ´ºÍ¶¯Ì¬µ÷ÕûÍøÂç´ø¿í£¬ÀûÓÃÕâЩ×ÊÔ´½â¾öÔÚ¸ßÁ÷Á¿ºÍ¸ß¸ºÔØÇé¿öÏ£¬ÏµÍ³ÎÞ·¨¿ìËÙµ¯ÐÔÀ©Õ¹µ¼ÖµÄÐÔÄÜÆ¿¾±¡£

´ËƪÎÄÕÂÁоٲ»Í¬ÀàÐ͵Äϵͳ¸ÄÔìÇ¨ÒÆµ½ÔÆÆ½Ì¨·½°¸£¬´Ó¸ÄÔì˼·̽ÌÖ£¬ÏµÍ³¿ò¼ÜÉè¼ÆºÍÏîĿʵʩµÄÕû¸öÇ¨ÒÆ¹ý³Ì£¬¹©´ó¼Ò²Î¿¼ºÍ½»Á÷¡£ÔÚ´ËÒÔPivotal GemfireÔÆÆ½Ì¨ÎªÀý×Ó£¬ ÒòΪËüÒÑÓдó¹æÄ£²¿Êð³É¹¦°¸Àý¡£ ¿Í»§IT»·¾³ÊÇÎ廨°ËÃÅ£¬ ¶Ôϵͳ¸ÄÔìµÄ˼·ºÍÄ¿µÄÒ²²»¾¡Ïàͬ£¬GemfireÊDz»´íµÄÑ¡Ôñ£¬µ«Ëü²»ÊÇΨһµÄÑ¡Ïî¡£

ǰÑÔ

ÔÚ¹ýÈ¥20Ä꣬ϵͳ¼Ü¹¹Ê¦×î³£ÓõÄϵͳ¿ò¼ÜÊÇÈý²ã¼Ü¹¹Éè¼Æ£¬ ¼´Web²ã£¬ Ó¦ÓÃÒµÎñÂß¼­²ãºÍÊý¾Ý¿â²ã£»Web²ãºÍÓ¦ÓÃÂß¼­²ã¿ÉËæ×ÅÒµÎñ±ä»¯×ö¿ìËÙµ¯ÐÔÀ©Õ¹£¬µ«¾ø´ó²¿·Ö¹ØÏµÐÍÊý¾Ý¿â²ãÎÞ·¨ÊµÏִ˹¦ÄÜ¡£ ÔÚÔÆ¼ÆË㣬´óÊý¾ÝºÍÒÆ¶¯»¥ÁªÍøÊ±´ú£¬ÓÉÓÚÒµÎñ³É³¤¿ìËÙ£¬·þÎñ¶àÑù»¯£¬ Êý¾ÝÁ¿¼±¾çÔö¼Ó£¬Óû§¶ÔϵͳÏìӦʱ¼äÓиüÑϸñµÄÒªÇó£» Ôڸ߸ºÔØÇé¿öÏ£¬ÎÞ·¨ºáÏòÀ©Õ¹µÄÊý¾Ý¿â²ãÍùÍù³ÉΪϵͳÐÔÄܵİí½Åʯ¡£

ÔÚ´ËÆªÎÄÕ£¬ÌÖÂÛÖØµãÊÇ´ÓÈí¼þÖмä¼þƽ̨£¨PaaS£©ºÍÓ¦ÓÃϵͳ£¨SaaS£©²ãÃæ³ö·¢£¬Ê¹Óá°·Ö²¼Ê½ÄÚ´æÊý¾ÝÍø¸ñ( In Memory Data Grid)¡±¼¼Êõ£¬½«´«Í³¼Ü¹¹¸ÄÔìÇ¨ÒÆµ½ÔÆÆ½Ì¨¡£ÏµÍ³¸ÄÔìÓжàÖÖ²»Í¬µÄ·½Ê½£¬Ö÷ÒªÊÇÒª¿´¸ÄÔìµÄÄ¿µÄºÍËùÊܵÄÏÞÖÆÀ´¾ö¶¨; ΪÁ˾ßÌ廯˵Ã÷£¬ ÎÒÃÇÒÔÏÂÁÐÈý¸ö°¸ÀýÌṩ¸ø¶ÁÕ߲ο¼ºÍ½»Á÷¡£

1.12306ÏîÄ¿£ºÕû¸öÊÛÆ±»·½ÚµÄһϵÁкËÐÄ×Óϵͳ¶¼¾­¹ý¸ß¶È¡°ÔÆ»¯¡±¡£ Ä¿µÄÊÇ¿ÉÒÔ½«ÔÆ»¯ºóµÄ×Óϵͳ¡°°´Ð衱Áé»î²¿ÊðÔÚ²»Í¬µÄÊý¾ÝÖÐÐÄ£¨¹«ÓÐÔÆ»ò˽ÓÐÔÆ£©£¬ÌṩÓÅÖÊ·þÎñ¡£ ÔÆ»¯µÄÊÖ¶ÎÊǽ«×ÓϵͳҵÎñÂß¼­ºÍÊý¾Ý¶¼·ÅÔÚGemfire¼¯ÈºÉÏÖ´ÐУ¬ ÀûÓÃMap ReduceµÄ¼¼Êõ£¬½¨Á¢¿Éµ¯ÐÔÀ©Õ¹Æ½Ì¨£¬Ìṩ¡°¸ßÐÔÄÜCPU¼ÆËãÄÜÁ¦¡±¡£

2.ijÊÐÉç±£ÏîÄ¿£º²ÉÈ¡¶Ìƽ¿ìµÄ¾Ö²¿¡°×ÓÏµÍ³ÔÆ»¯¡±£¬Õë¶ÔÓи߲¢·¢ÐèÇó»áµ¼ÖÂÆ¿¾±µÄ×Óϵͳ½øÐиÄÔì¡£¸ÄÔìµÄÊÖ¶ÎÊǽ«×ÓϵͳҵÎñÂß¼­ºÍÊý¾Ý·ÅÔÚGemfire½ÚµãÉÏÖ´ÐÐ, ½¨Á¢¿Éµ¯ÐÔÀ©Õ¹Æ½Ì¨£¬ÀûÓÃGemfire·Ö²¼Ê½²¢Ðвéѯ¼¼ÊõÀ´½â¾ö¡°¸ß²¢·¢²éѯ¡±µÄÒªÇó¡£

3.½ðÈÚµ¥Î»POC²âÊÔÏîÄ¿£º ÎÊÌâÔÚÓÚϵͳµÄ²éѯҵÎñÁ¿¶à£¬¹ØÁª±í¸ñ¶à£¬Ôڸ߲¢·¢Çé¿öÏ£¬²éѯ·´Ó¦Ê±¼ä³¤¡£ POCÄ¿µÄÊÇÒªÑéÖ¤ÔÚ²»¸ü¸Ä×ÓϵͳҵÎñÂß¼­ÏÞÖÆÏ£¬ÒÔ×îСµÄ´ú¼Û£¬¶Ô¡°Êý¾Ý·ÃÎʲ㠣¨DAO£©¡±½øÐÐÐ޸쬽¨Á¢¿ÉÀ©Õ¹µÄ¡°ÄÚ´æÊý¾Ý»º´æ²ã¡±£¬½â¾ö¡°¸ß²¢·¢²éѯ¡°µÄ·½°¸£»ÁíÍ⣬»¹ÓÐÊý¾Ý¿âÓëGemfire¼¯ÈºÖ®¼ä¡°Ê§Ð§×ªÒÆ fail over¡±µÄÉè¼Æ¡£ ÒÔ´ËΪ»ù´¡£¬ÒÔºóÔÙ½«ÒµÎñÂß¼­Ö𽥷ŵ½Gemfireƽ̨£¬½øÐиÄÔìÉý¼¶¡£

Ò»¡¢12306 »ìºÏÔÆµÄÆôʾ

ÔÚǰÁ½ÆªÎÄÕÂÌáµ½£¬2012Äê´ºÔ˺ó12306³Ð°ìµ¥Î»-Ìú¿ÆÔºÒýÈ롱·Ö²¼Ê½ÄÚ´æÊý¾ÝÍø¸ñ¡± ¼¼Êõ£¬½«ÓàÆ±¼ÆËã/²éѯ×Óϵͳ¸ÄÔìÇ¨ÒÆµ½GemfireÔÆÆ½Ì¨£¬¾Ö²¿½â¾ö12306µÄÖ÷Ҫƿ¾±£»¸ÄÔìºóµÄ×ÓϵͳÔÚ2013Äê´ºÔËʱÉÏÏߣ¬ÆäЧ¹ûÊÇÏÔÖøµÄ£¬ËäÈ»Õû¸öϵͳÔËÐл¹ÊÇÓС±¿¨£¬¶Ù¡±µÈ²»×ãÖ®´¦£¬µ«Ìú¿ÆÔº¶Ô´Ë¼¼ÊõÉî¾ßÐÅÐļá³Ö¸Ä¸ï£¬²ÅÓкóÐøÒ»Á¬´®µÄ×Óϵͳ¸ÄÔì³ö¯¡£ÔÚ2015Äê´ºÔË£¬½¨Á¢Á½µØÈýÖÐÐÄ»ìºÏÔÆµÄ·þÎñģʽ£¬½«´ó²¿·ÖÓàÆ±²éѯÁ÷Á¿Òýµ¼µ½°¢ÀïÔÆÌṩ²éѯ·þÎñ£»´Ë¾ÙµÄÄ¿µÄÊÇÒª½èÖúÔÆ¼ÆËãÊý¾ÝÖÐÐĵÄ×ÊÔ´£¬¡°ÁÙʱÐÔ¡±½â¾öÔÚ´ºÔËÆÚ¼äÓÉÓÚ»¥ÁªÍø¹ºÆ±ºÍˢƱÈí¼þËùÒý·¢µÄÄÑÔ¤²â£¬¸ßÁ÷Á¿£¬ºÍ¸ß²¢·¢ÇëÇ󣬽µµÍϵͳ²»Îȶ¨µÄ·çÏÕ¡£

12306»ìºÏÔÆ³É¹¦°¸Àý×î´óµÄÆô·¢ÊǸøÆóÒµ¿Í»§ºÍÕþ¸®²¿ÃÅ´øÀ´ÐµÄ˼·£¬¾ÍÊǽ«¹Ø¼üÒµÎñµÄ¡°×Óϵͳ¡±¸ÄÔìÇ¨ÒÆµ½ÔÆÆ½Ì¨¼Ü¹¹£¬¸ù¾Ýʵ¼ÊÇé¿ö£¬½«¡°ÔÆ»¯¡±ºóµÄ×Óϵͳ²¿ÊðÔÚ×ÊÔ´·á¸»µÄÔÆ¼ÆËãÊý¾ÝÖÐÐÄ£¨Ë½ÓÐÔÆ»ò¹«ÓÐÔÆ£©¡£ ÀýÈ磬 12306ºËÐÄϵͳÔÚ¾­¹ýÈ«Ãæ¸ÄÔìºÍÓÅ»¯ºó£¬ ÿ¸öÔÆ»¯ºóµÄ×Óϵͳ¶¼¾ßÓÐÌØ¶¨µÄ¶ÀÁ¢ÐÔ£¬ÒòΪÏà¹ØÊý¾Ý¶¼·ÅÔÚGemfireÄÚ´æÊý¾ÝÍø¸ñ½Úµã£»ÕâÒâζ×ÅÕâЩ×ÓϵͳÀàËÆ¡°ÔÆ¡±Ò»Ñù£¬ ¿ÉÒÔËæ×ÅÒµÎñÐèÇó±ä´ó»ò±äС£¬Ò»·ÖΪ¶à£¬ÈÎÐÔµÄÆ¯ÒƵ½¶à¸ö²»Í¬Êý¾ÝÖÐÐÄÀ´Ð­Í¬ºÏ×÷£¬±ÜÃâÔÚITÉ豸·½ÃæµÄÖØ¸´Í¶×Ê£¬ ²¢Ìá¸ß×ÊÔ´µÄʹÓÃÂÊ¡£

ÔÆ»¯ºóµÄ×Óϵͳ²¿ÊðÔÚ¶àÊý¾ÝÖÐÐÄ£¬ÐèÒªÌØ±ð×¢ÒâÏÂÁÐÁ½µã½¨Òé £º

1.Èç¹û½«×Óϵͳ²¿ÊðÔÚ¹«ÓÐÔÆÌṩ·þÎñʱ£¬Êý¾ÝÒþ˽µÄ±£»¤ºÍ°²È«ÐÔӦΪÊ×Òª¿¼ÂÇ¡£

2.Èç¹û¹æ»®½«×Óϵͳ²¿ÊðÔÚ¶àÊý¾ÝÖÐÐÄʱ£¬ÔÚϵͳ¿ò¼ÜÉϱØÐ迼ÂÇÉÏÏÂÓÎ×Óϵͳ֮¼äµÄÊý¾Ý´«Êä»òͬ²½/Òì²½µÄÉè¼Æ¡£

ÒÔ12306ΪÀý£¬Á½µØ¶àÖÐÐÄ»ìºÏÔÆµÄ¼Ü¹¹Ê¾ÒâͼÈçÏ£»ÔÚ´ºÔËÊÛÆ±¸ß·åÆÚ¼ä¿ÉÒÔ½«ÓàÆ±²éѯ¹¦Äܲ¿ÊðÔÚ¶à¸ö¹«ÓÐÔÆÊý¾ÝÖÐÐÄÌṩ¿ìËÙ·þÎñ£¨ÀýÈç°¢ÀïÔÆºÍµçÐÅÌìÒíÔÆ£©¡£

¶þ¡¢ÏµÍ³¸ÄÔìÇ¨ÒÆµÄ˼·ºÍÐèÇó

Ëæ×ÅÆóÒµ³É³¤£¬¶ÔÓÚÒ»¸ö¸´ÔӵĴóϵͳÀ´Ëµ£¬ ÆäÒµÎñ¹¦Äܲ»¶ÏÔö¼Ó£¬·þÎñ·½Ê½¶àÑù»¯£¬Êý¾Ý´æ´¢Á¿Ô½À´Ô½´ó£¬µ«ÏµÍ³ÐÔÄÜÔ½À´Ô½Âý£¬¶øÓû§¶ÔÏìӦʱ¼äµÄÒªÇóÔ½À´Ô½Ñϸñ£»ÓÈÆäÊÇÔÚ¹ýÈ¥5ÄêÀÿÄê¶¼ÓÐм¼ÊõµÄÑݽø £¨´óÊý¾ÝºÍ·Ö²¼Ê½ÄÚ´æÊý¾Ýƽ̨£©ºÍÐÂÒµÎñµÄÑÜÉú£¨ÎïÁªÍøÓ¦Óã¬Éç½»Ó¦ÓÃÆ½Ì¨ºÍÒÆ¶¯Ó¦Óã©¡£

µ±´«Í³¼Ü¹¹ÏµÍ³ÒÑÖð½¥ÎÞ·¨Âú×ãÈÕÇ÷³É³¤µÄÒµÎñÐèÇóʱ£¬ÓÐÁ½ÖÖ·½°¸¿É¹©Ñ¡Ôñ£¬ Ò»ÊÇ´ÓÓ²¼þ×ÅÊÖ£¬scale upµÄÑ¡Ï ¾ÍÊǸü»»ÐÔÄܸüÇ¿´óµÄ·þÎñÆ÷£»¶þÊÇscale outµÄÑ¡Ï´ÓÈí¼þƽ̨×ÅÊÖ£¬ ½øÐÐÓ¦ÓÃϵͳ¸ÄÔ죬²ÉÈ¡µ¯ÐÔ¿ÉÀ©Õ¹µÄ¿ò¼ÜÉè¼Æ¡£

¸ü»»Ó²¼þ·þÎñÆ÷ÊÇ×î¼òµ¥µÄ×ö·¨£¬ µ«ÒÔºó¸ü»»³É±¾»áÔ½À´Ô½¸ß£¬ÏµÍ³ÐÔÄÜÌáÉýÊÇÔ½À´Ô½ÓÐÏÞ¡£ Èí¼þÓ¦ÓÃϵͳµÄ¸ÄÔ죬ÊÇÒ»ÀÍÓÀÒÝ´Ó¸ù±¾×öÆð£¬¸ÄÔì³É±¾ÊÇÓëϵͳµÄ¸´ÔÓ¶ÈÓйأ¬ÊÇÐèÒªÈ«Ãæ¸ÄÔ죿 »¹ÊÇÑ¡ÔñÐԵľֲ¿¸ÄÔì £¿ÕâÐèÒª¸ù¾Ýʵ¼ÊʹÓÃÇé¿öÀ´¾ö¶¨¡£

Õë¶ÔϵͳµÄscale outÉè¼Æ£¬Èç¹ûÒªÍÆ·­ÒÔǰµÄ¼Ü¹¹£¬Öؽ¨ÏµÍ³£¬ÄÇÊǸö´ó¹¤³Ì£¬³ý·ÇÓÐÏÂÁÐÈýÖÓÇé¿ö£º

1.ϵͳÒѾ­ÊÇǧ´¯°Ù¿×£¬ ÎÞ·¨ÔÙ´ò²¹¶¡Ò²ÎÞÈ˺óÐøÎ¬»¤

2.Ô­ÓеĿò¼ÜÉè¼ÆÒÑÓÅ»¯µ½¼«Ö£¬ÎÞÂÛÈçºÎÓÅ»¯£¬¶¼ÒѾ­ÎÞ·¨Âú×ãÈÕÒæÔö¼ÓµÄÒµÎñÐèÇó¡£ ÀýÈ磬12306¾ÍÊǵäÐÍÀý×Ó¡£

3.ÒµÎñÁ÷³ÌºÍ×éÖ¯¹ÜÀí·½Ê½Óо޴óµÄ±ä¶¯£¬ ÐèÒªÖØ½¨ÏµÍ³

·ñÔò£¬×îʡǮºÍ×îÓÐЧµÄ·½·¨¾ÍÊÇÕë¶Ôϵͳƿ¾±×ö¡°¾Ö²¿¸ÄÔ족À´Ìá¸ßÐÔÄÜ£¬±£»¤¹ýÈ¥µÄͶ×Ê¡£ÀýÈ磬Éç±£ÏîÄ¿¾ÍÊǵäÐÍÀý×Ó

ÔÚ´ËÆªÎÄÕ£¬ÌÖÂÛµÄÖØµãÊÇÈçºÎ½«ÏµÍ³¸ÄÔìÇ¨ÒÆµ½ÔÆÓ¦ÓÃÆ½Ì¨£¬ ÓÉÓÚÿ¸öϵͳ¶¼ÓÐÆäÌØÊâÐԺ͸´ÔÓÐԵĿª·¢±³¾°£¬ÆäÉè¼ÆµÄϵͳ¿ò¼Ü£¬Ëù²ÉÓõÄÈí¼þƽ̨ºÍ¿ª·¢¼¼ÊõÒ²¶¼Ëæ×Åʱ¼äÑݽø¶ø²»Ò»Ñù¡£ Òò´Ë¸ÄÔìµÄ·½Ê½ÐèÒªÒÀ¾Ýʵ¼ÊµÄ»·¾³À´½øÐС£

1. 12306 ϵͳ¸ÄÔì˼·ºÍÐèÇó ¨C °´½×¶ÎÖð²½ÔÆ»¯ºËÐÄ×Óϵͳ

Ô­À´ÏµÍ³ÊÇʹÓÃStored Procedure¿ª·¢£¬ÏµÍ³ÒѾ­ÓÅ»¯µ½¼«Ö£¬ºÜÄÑÔÙ½øÒ»²½ÌáÉýÐÔÄÜ¡£

Èç¹û²ÉÓÃscale upµÄÓ²¼þÉý¼¶£¬Í¶×ʹýÓÚÅÓ´ó£» Ëæ×ÅÌú·»ù´¡½¨Éè²»¶ÏÀ©´ó£¬ÒµÎñÁ¿Ò²»áËæ×ÅÔö¼Ó£¬ÎÞ·¨±£Ö¤Ó²¼þÉý¼¶ºóµÄϵͳÐÔÄÜ»áÂú×ãδÀ´ÒµÎñ³É³¤µÄÐèÇó¡£ÁíÍ⣬ ¾ÍÊÇ´ºÔ˸߷åÆÚ¹ýºó¸ÃÈçºÎ´¦ÖùýÊ£µÄUnixСÐÍ»úÒ²±ØÐëÁÐΪ¿¼ÂÇ¡£

³Ð°ìµ¥Î»- Ìú¿ÆÔº¾­¹ý×ÐϸÆÀ¹Àºó£¬ÈÏΪ¸ßÁ÷Á¿ºÍ¸ß²¢·¢ÎÊÌâ±ØÐè²ÉÓÃÔÆ¼ÆËã¿Éµ¯ÐÔÀ©Õ¹µÄƽ̨ºÍ¼¼ÊõÀ´½â¾ö¡£

ÒÔ·Ö²¼Ê½ÄÚ´æÊý¾ÝÍø¸ñ¡± - Gemfire¼¼ÊõΪÇÐÈëµã£¬ÒÔÓàÆ±¼ÆËã/²éѯ×ÓϵͳΪÊÔµãÏîÄ¿¡£ ²ÉÈ¡ÎÈÍ׵ĸÄÔì²ßÂÔ£¬ ÖðÄêÖ𲽸ÄÔìºÍÓÅ»¯Æä×Óϵͳ£¬½â¾öһϵÁл·½ÚÉÏµÄÆ¿¾±£¬±£Ö¤ÔÚ¸ÄÔìÆÚ¼äÕû¸ö12306ϵͳµÄÎȶ¨ÔËÐС£

ÔÚ¸ÄÔì³õÆÚ£¬Ð¾ÉÁ½Ì×ϵͳ±ØÐëͬʱ²¢ÐÐÔËÐС£ ÀûÓÃCDN£¨Content Delivery Network£©µÄÁ÷Á¿¹ÜÀí¹¦ÄÜ£¬ Öð½¥½«Á÷Á¿¼Óѹµ½Gemfire¼¯Èº£¬²âÊÔ¼¯ÈºÔڸ߸ºÔØÏÂÊÇ·ñÄÜÆ½Îȹý¶É¸ß·åÊÛÆ±ÆÚ¡£

²ÉÓá°¶àÖØGemfire¼¯Èº¡±Ï໥±¸·ÝµÄÉè¼Æ£¬Í¬Ê±²¢ÐÐÔËÐУ¬ÎªÎ´À´¡°¶àÊý¾ÝÖÐÐÄ¡±µÄ²¿Êðµ±ÊÔµãºÍÆÌ·¡£

2. É籣ϵͳ¸ÄÔì˼·ºÍÐèÇó ¨C ¶Ìƽ¿ìµÄ¾Ö²¿×ÓÏµÍ³ÔÆ»¯

Éç±£ÖÆ¶ÈÖðÄê¸Ä¸ï£¬Ð±àÖÆ×éÖ¯¼Ü¹¹²»¶ÏÀ©´ó£¬ÐÂÒµÎñ²»¶ÏÔö¼Ó£¬Ê¡ÊÐÉç±£ÈËÊý´ÓÊý°ÙÍò¼¶±ðµ½Ä³Ð©È˿ڴóÊ¡³¬¹ýÒڵļ¶±ð£»ÕâЩÉç±£½É·Ñ×ÊÁÏÐèÒª±£´æ´ïÊýÊ®ÄêÒÔÉÏ£¬ ÓÀËæÒ»Éú£¬ ÿÄê¶¼ÓÐÊý°ÙTÉõÖÁPÁ¿¼¶µÄÊý¾Ý´æ´¢µ¥Î»¡£Éç±£µ¥Î»±ØÐ뿼ÂÇÈçºÎ´æ´¢ÕâЩ×ÊÁÏ£¿ ÈçºÎÔÚ´óÊý¾ÝÁ¿Çé¿öÏÂÌṩ¿ìËÙ²éѯ·þÎñ£¿ ÈçºÎ½¨ÉèÒ»¸öITƽ̨ÄÜËæ×ÅδÀ´ÒµÎñ³É³¤¶ø²»¶ÏµÄµ¯ÐÔÀ©ÈÝ£¬´ËΪÖ÷ÒªµÄ¸ÄÔì˼·¡£

É籣ϵͳÊǶÔÍâµÄ¹«¹²·þÎñƽ̨ÓÚ2008ÄêÉÏÏߣ¬´Ëƽ̨ÊÇÒÔ»¥ÁªÍøÎªÔØÌ壬¿ªÍ¨ÆóÒµµ¥Î»ºÍ¸öÈËÍøÉÏÉ걨ҵÎñµÄ·þÎñ¡£ ÔÚÃæ¶ÔÈÕÒæÔö¼ÓµÄÍøÂçÒµÎñ°ìÀíÐèÇ󣬯½Ì¨Ó²¼þϵͳ£¨¶à²¿¸ß¶ËUnixСÐÍ»ú£©Ëù³ÐÔØÑ¹Á¦Öð½¥¼Ó´ó¡£ ÏµÍ³Ó²¼þÒÑÖð½¥³öÏÖÆ¿¾±¡£ÔÚ2012Äê1Ô¼¯ÖÐÉ걨ÆÚ¼ä£¬ ϵͳµÄCPU£¨°üº¬Ó¦Ó÷þÎñÆ÷ºÍÊý¾Ý¿â·þÎñÆ÷£©¸ß´ï90%ÒÔÉÏ£¬ µ¼ÖÂϵͳ²»Îȶ¨£¬ÎÞ·¨Õý³£·ÃÎÊ£¬Ó°ÏìÖØ´ó¡£

¾­¹ýÉç±£Ïà¹Øµ¥Î»×ÐϸÆÀ¹À£¬È·Á¢ÏµÍ³¸ÄÔìµÄ²ßÂÔÓ¦ÓÉÁ½·½Ãæ×ÅÊÖ£¬ Ò»Êǽ¨Á¢ÐéÄ⻯µÄÔÆ»·¾³£¬ ¶þÊÇÕë¶Ô×Óϵͳƿ¾±½øÐоֲ¿¸ÄÔ죬 ¸ÄÔìºóµÄ×Óϵͳƽ̨ÐèÒªÖ§³Ö¡°µ¯ÐÔÀ©Õ¹¡±£¬Âú×ãδÀ´ÈÕÒæÔö¼ÓµÄÍøÉÏÒµÎñ¡£

²ÉÓÃVMware¼¼Êõ´î½¨ÐéÄâ»¯ÔÆÆ½Ì¨À´ÌáÉý»ù´¡¼Ü¹¹µÄÀ©Õ¹ÄÜÁ¦£¬²ÉÓÃPivotal Gemfire ¿Éµ¯ÐÔÀ©Õ¹µÄ¸ßËÙ»º´æ¹¦ÄÜ£¬ Ö§³Ö¸ß²¢·¢¡°ÈȵãÊý¾Ý¡±²éѯ·þÎñ£¬½µµÍÔ­ÓÐÊý¾Ý¿âµÄI/OÆ¿¾±£¬Ìá¸ßÕû¸öϵͳÐÔÄܺÍÎȶ¨ÐÔ¡£

3. ½ðÈÚµ¥Î»POC²âÊÔ¸ÄÔì˼·ºÍÐèÇó ¨C½¨Á¢¿ÉÀ©Õ¹µÄ ¡°·Ö²¼Ê½Äڴ滺´æÊý¾Ý²ã¡±

½ðÈÚµ¥Î»ÏµÍ³ÅÓ´ó¸´ÔÓ£¬ËùÓеÄ×Óϵͳ´ÓÉè¼Æµ½¿ª·¢¶¼ÐèÒªÑϸñ×ñѭͳһ¿ª·¢Á÷³Ì£¬

ºËÐÄ×ÓϵͳҵÎñÂß¼­²»ÇáÒ׸ü¸Ä¡£¶Ôϵͳ¶øÑÔ£¬²éѯҵÎñÁ¿¶à£¬Êý¾ÝÁ¿´ó£¬¹ØÁª±í¸ñ¶à£¬Ôڸ߲¢·¢Çé¿öÏ£¬²éѯ·´Ó¦Ê±¼ä³¤¡£

POC²âÊÔÄ¿µÄ£º

ÔÚ²»¸ÄϵͳҵÎñÂß¼­Çé¿öÏÂ, ¶Ô¡°Êý¾Ý·ÃÎʲã DAO ¨C Data Access Object¡±½øÐиÄÔ죬 ½¨Á¢¿ÉÀ©Õ¹µÄ ¡°·Ö²¼Ê½Äڴ滺´æÊý¾Ý²ã¡±£»Ä¿µÄÊÇÌá¸ßÒµÎñ²éѯÐÔÄÜ£¬¿ìËÙ·´Ó¦²éѯ½á¹û£¬½µµÍÔ­ÓÐÊý¾Ý¿âµÄI/OÆ¿¾±£¬Ìá¸ßÕû¸öϵͳÐÔÄÜ¡£

¿¼ÂÇϵͳÎȶ¨ÐԺͰ²È«ÐÔ£¬ »¹ÐèÒªÑéÖ¤¡°·Ö²¼Ê½Äڴ滺´æÊý¾Ý²ã¡±Óë¹ØÏµÐÍÊý¾Ý¿âÖ®¼ä¡°Ê§Ð§×ªÒÆ fail over¡±µÄÉè¼Æ¡£

Èý¡¢12306ϵͳ¸ÄÔìÇ¨ÒÆµ½Gemfireƽ̨

ÔÚ×î³õµÄ¿ò¼ÜÉè¼ÆÒÑ¿¼ÂÇϵͳÐÔÄÜÎÊÌ⣬ËùÒÔʹÓÃStored Procedure¿ª·¢À´ÌáÉýϵͳִÐÐËÙ¶È¡£´ËÉè¼ÆË¼Â·ÊDzο¼µÂ¹úºÍÓ¢¹ú»¥ÁªÍøÊÛÆ±¾­Ñé ¨C ¼´×ÜÊÛÆ±Á¿20%µÄ±ÈÂÊÊÇ͸¹ý»¥ÁªÍøÊÛÆ±£¬Ò²¾ÍÊÇ˵µ±³õ12306ϵͳ¹æ»®ÊÇÒªÂú×ãÿÌìÊÛÆ±Á¿100ÍòÕŵÄÐèÇóÀ´Éè¼Æ¡£

ÔÚ2012Äê´ºÔË12306¶ÔÍ⿪·Åʱ£¬Ó¿È뽫½ü2ǧÍòÈ˴εǼ£¬Ô¶Ô¶³¬¹ýµ±³õµÄÔ¤ÉèÄ¿±ê£¬µ«ÓÖÊÜÏÞÓÚϵͳ¼Ü¹¹ÎÞ·¨µ¯ÐÔÀ©Õ¹£¬µ¼ÖÂÕû¸ö12306ϵͳÀïÀïÍâÍâ¶¼²»Îȶ¨£¬ ÎÞ·¨Õý³£·ÃÎÊ¡£ÔÚ²ÉÓÃPivotal-GemfireÔÆ»¯ºóµÄ12306ϵͳÓÐÁË¡°ÖÊÓëÁ¿¡°µÄ´óÔ¾½ø£¬ÔÚ2015Äê´ºÔËÊÛÆ±¸ß·åÈÕÒÑ´ï560ÍòÕÅ£¬Õ¼ÁËÕûÌåÊÛÆ±Á¿µÄ60%£»±ÜÃâ¹ýÈ¥ÈÕÒ¹ÅŶӹºÆ±µÄÍ´¿à£¬ Ò²½ÚÊ¡´óÁ¿Éç»á³É±¾¡£

ÓÉÓÚ12306ÒµÎñÂß¼­¸´ÔÓ£¬ÏµÍ³ÅÓ´ó£¬ ÔÚ´ËÖ»ÒÔÓàÆ±¼ÆËã/²éѯΪ°¸Àý¡£ÓйØÕû¸öϵͳµÄÒµÎñÂß¼­Éè¼Æ²»ÔÚ´ËÌÖÂÛ¡£ÏÂÁеÄÃèÊöÈç¹ûÓÐÎó£¬ Ò²Çë¸÷λÏȽøÖ¸Õý¡£

2012Äê ¸ÄÔìǰµÄÓàÆ±¼ÆËã/²éѯ×Óϵͳ¼Ü¹¹ÃèÊö

1. ·¾Ö¡°ÊµÊ±¡±ÌṩÊÛÆ±¼Ç¼

»ð³µÆ±µÄϯλÏúÊÛÊÇÓÉÿ¸ö·¾Ö¹æ»®ºÍµ÷¿Ø£¨Ìú·×ܹ«Ë¾¹²ÓÐ18¸ö·¾Ö£©£¬ ¶ø12306Óëÿ¸ö·¾ÖÊǹ²Ïíͬһ¸ö¡°Æ±¿â¡±¡£ »»¾ä»°Ëµ£¬¡°ÏßÉÏ¡±µÄ12306ÊÇÓë¡°ÏßÏ¡±µÄ»ð³µÕ¾µãÊÛÆ±´°¿Ú£¬µç»°ÊÛÆ±£¬ºÍ¸÷µØµÄÊÛÆ±µãÇÀƱ¡£Ã¿¸ö·¾Ö½«Ã¿ÕÅÆ±µÄÏúÊۼǼ¶¼¡°ÊµÊ±¡°´«Ë͵½12306ÔÚÌú×ÜÊý¾ÝÖÐÐÄ¡°Ö÷Êý¾Ý¿â·þÎñÆ÷¡±×ö»ã×Ü¡£

2. Êý¾Ý¿â¸´ÖƵ½ÓàÆ±¼¯Èº£º

ÔÚÌú×ܵÄÊý¾ÝÖÐÐÄ - ÓàÆ±¼ÆËã·þÎñÆ÷¼¯ÈºÊÇÓÉ¡°Ö÷Êý¾Ý¿â·þÎñÆ÷¡±ºÍ72²¿UnixСÐÍ»ú×é³É£»Ö÷Êý¾Ý¿â·þÎñÆ÷»ã×ܸ÷¸ö·¾Ö´«Êä¹ýÀ´µÄÊý¾Ýºó£¬ÀûÓÃÊý¾Ý¿â¸´ÖƵĻúÖÆ£¬ÊµÊ±½«Êý¾Ý¡°¸´ÖÆ¡°µ½72²¿UnixСÐÍ»ú¡£

3. ²¢Ðд¦ÀíÓàÆ±¼ÆË㣺 ÆäÖÐ8²¿Ð¡ÐÍ»ú×öÊÛÆ±Ô¤´¦Àí£¬ÔÙ½«Ô¤´¦Àí½á¹ûË͵½64²¿Ð¡ÐÍ»ú£¬64²¿Ð¡ÐÍ»ú¡°Í¬Ê±²¢ÐС±´¦ÀíÓàÆ±¼ÆËã¡£

4. Ó¦Óûº´æ·þÎñÆ÷£º 64²¿Ð¡ÐÍ»ú½«ÓàÆ±¼ÆËãºóµÄ½á¹û»ã×ܲúÉúÓàÆ±±í£¬½«ÓàÆ±±í·ÅÖÃÔÚǰ¶ËµÄÓ¦Óûº´æ·þÎñÆ÷¼¯Èº£»´Ë¾ÙÊÇÒª½â¾öÔڸ߲¢·¢µÄÇé¿öÏ£¬»º´æ·þÎñÆ÷Ìṩ¸ü¿ìËÙµÄÓàÆ±²éѯ·þÎñ¡£

5. CDN(Content Delivery Network)·þÎñÆ÷£º12306×îÍâΧ²¿ÊðCDNÍøÂ磬ÆäÄ¿µÄÊÇʹÓû§¿É¾Í½üÈ¡µÃËùÐèÐÅÏ¢£¬½«Óû§µÄÇëÇóÖØÐµ¼ÏòÀëÓû§×î½üµÄ·þÎñ½Úµã½â¾ö InternetÍøÂçÓµ¼·µÄ×´¿ö£¬»¹Óе÷Õû¸ºÔؾùºâµÄ¹¦ÄÜ£¬Ìá¸ßÓû§·ÃÎʵÄÏìÓ¦ËÙ¶È¡£

6. ÓàÆ±ÐÅÏ¢¸üлúÖÆ£ºÓàÆ±ÐÅÏ¢¸üÐÂÊÇÒÔ¡°³µ´Î¡°Îª»ù×¼£¬Ã¿¸ô10·ÖÖÓ¸üÐÂÒ»´Î¡£µ±Óû§Ìá½»¡°Çø¼äÕ¾µã¡±µÄÓàÆ±²éѯʱ£¬ÏÈ´ÓCDN·þÎñÆ÷²éѯ×ÊÁÏ£¬¼ÙÈçCDNµÄ×ÊÁÏÒѳ¬¹ý10·ÖÖÓ£¬»á´ÓÓ¦Óûº´æ·þÎñÆ÷Ë÷È¡×îеÄÊý¾Ý¡£Í¬Àí£¬µ±Ó¦Óûº´æ·þÎñÆ÷µÄ×ÊÁϳ¬¹ýʱЧ£¬»á´¥·¢ÓàÆ±¼ÆËãÁ÷³Ì£¬ÖØÐ¼ÆËãÓàÆ±²úÉúÓàÆ±±í£¬ Ìá½»¸øÓ¦Óûº´æ·þÎñÆ÷¡£Ã¿¸ô10·ÖÖÓ¸üеIJÎÊýÊǿɵ÷ÕûµÄ¡£

12306¸ÄÔìÔ­ÔòºÍÄ¿±ê

£¨1£©É趨ÐÔÄÜÖ¸±ê£º

ÒÔÓàÆ±¼ÆËã×ÓϵͳΪÀý£¬Gemfire¼¯ÈºµÄÓàÆ±¼ÆËãÐÔÄÜÖ¸±êÐèÒª´ïµ½10£¬000 TPSÒÔÉÏ£¬ ²¢¿ÉÒÔËæ×ÅÒµÎñ³É³¤×öµ¯ÐÔÀ©Õ¹¡£ÅäºÏÓ¦Óûº´æ·þÎñÆ÷¼¯ÈººÍ×îǰ¶ËµÄCDN¸ºÔؾùºâ·þÎñÆ÷¼¯Èº£¬Ô¤¹À12306¿ÉÒÔÖ§³ÖÿÃë´ï°ÙÍò´ÎµÄÓàÆ±²éѯ¡£´Ë²¿·ÖµÄϵͳÐÔÄÜÊÇÓë·þÎñÆ÷CPUÀàÐÍ£¬ ÄÚ´æ´óС£¬Gemfire½ÚµãÊýºÍx86·þÎñÆ÷ÊýÁ¿¶¼ÓйØÁª¡£

£¨2£©ÓàÆ±¼ÆËã´¦ÀíÄÜÁ¦¿ÉËæ×ÅÐé»úµÄÔö¼Ó¶øÏßÐÔÔö¼Ó

ÓàÆ±²éѯÊÇÒª·´Ó³×îеÄÓàÆ±Çé¿ö£¬×÷Ϊ¹ºÆ±µÄÒÀ¾Ý¡£ ÔÚÉÏÆªÎÄÕÂÒÑ̸µ½ÓàÆ±¼ÆËãµÄ¸´ÔÓ¶È£¬ÐèÒªºÜÇ¿´óµÄCPU´¦ÀíÄÜÁ¦Îªºó¶ÜÀ´¼ÆËãÿ¸öÇø¼äÕ¾µãµÄÓàÆ±Á¿£»½«¼ÆËã½á¹û·ÅÖõ½»º´æÊý¾Ý·þÎñÆ÷ºÍCDN·þÎñÆ÷¡£ÓàÆ±¼ÆËãÊÇÀûÓÃGemfire Data GridºÍMap ReduceµÄ¼¼ÊõÌṩ¾Þ´óCPU´¦ÀíÄÜÁ¦¡£

£¨3£©ÔÚ²»¸Ä±äÔ­ÓеÄÌåϵ¿ò¼ÜÉÏÔö¼ÓGemfire¼¯Èº£¬ оÉÁ½Ì×ϵͳ²¢ÐÐÔËËã

Ϊȷ±£12306Éú²ú»·¾³µÄÎȶ¨ÐÔºÍÆ½Îȹý¶É£¬Ð¾ÉÁ½Ì×ϵͳ±ØÐëͬʱÔËÐУ¬ÓÉ×îǰ¶ËµÄCDN·þÎñÆ÷¿ØÖÆ·ÃÎÊÁ÷Á¿£¬Öð½¥½«ÐèÒªÓàÆ±¼ÆËãµÄÇëÇó¼Óѹµ½Gemfire¼¯Èº£¬²âÊÔGemfireµÄ³ÐÔØÄÜÁ¦£¬¼ìÑé¿ÉÀ©Õ¹µÄ¹¦ÄÜ¡£

£¨4£©ÏµÍ³¸ß¿ÉÓÃÐÔ£¨High Availability£©

GemfireµÄÊý¾Ý½Úµã¶¼ÓÐÆäËü½ÚµãµÄ±¸·ÝÊý¾Ý£¬ Ò²¿ÉÒÔ½«ÄÚ´æÊý¾Ý³Ö¾Ã»¯µ½Ó²ÅÌ»òÊÇͬ²½/Ò첽дµ½Êý¾Ý¿â¡£

£¨5£©x86·þÎñÆ÷

¿¼ÂÇδÀ´¶àÊý¾ÝÖÐÐĺͻìºÏÔÆµÄ²¿Ê𣬱ØÐëʹÓÃx86·þÎñÆ÷ΪÉú²ú»ú¡£

¸ù¾Ý12306¸ÄÔìÉè¼ÆÔ­ÔòÔÚ²»¸Ä±äÔ­ÓеÄÌåϵ¿ò¼ÜÉÏÔö¼ÓGemfire¼¯Èº£¬ ÔÚ¹ý¶ÉÆÚ¼ä£¬Ð¾ÉÁ½Ì×ϵͳ²¢ÐÐÔËË㣬ÔÚ¹ý¶ÉÆÚºó£¬ÒÔGemfire¼¯ÈºÎªÖ÷¡£ ËùÒԴ˲½µÄ¸ÄÔìÊÇÕë¶ÔÉÏÊö¡±¸ÄÔìǰµÄÓàÆ±¼ÆËã/²éѯ×Óϵͳ¼Ü¹¹¡±µÄµÚ2ÏîºÍµÚ3Ïî½øÐзÖÎöºÍ¸ÄÔì¡£

12306¸ÄÔì²½Ö裺

£¨1£©ÏµÍ³¼Ü¹¹¸ÄÔìºÍÊý¾ÝÉÏÔØ

Ϊȷ±£12306Éú²úϵͳµÄÎȶ¨ÔËÐÐºÍÆ½Îȹý¶É£¬ÔÚ²»¸Ä±äÔ­ÓеÄÌåϵ¿ò¼ÜÉÏÔö¼ÓGemfire¼¯Èº£¬ оÉÁ½Ì×ϵͳ²¢ÐÐÔËËã¡£ÄǾͱØÐ뿼ÂÇÈçºÎ½«Êý¾Ý´ÓÊý¾Ý¿âʵʱͬ²½µ½Gemfire¼¯Èº×öÓàÆ±¼ÆËã¡£

A£®Êý¾Ý¿â¸´ÖÆ·þÎñÆ÷ £ºÔö¼ÓÒ»²¿Êý¾Ý¿â·þÎñÆ÷£¬½«Ìú×ÜÊý¾ÝÖÐÐÄ¡°Ö÷Êý¾Ý¿â·þÎñÆ÷¡±»ã×ܵÄÊý¾Ýʵʱ¸´ÖƵ½´Ë²¿Êý¾Ý¿â·þÎñÆ÷¡£

B£®ÊµÊ±Í¬²½»úÖÆºÍSQL½âÎö·þÎñÆ÷ £º ´Ë²½ÖèÊÇ´ÓÊý¾Ý¿âÈ¡³öLogÊý¾Ý²¢½âÎöSOLÓï¾ä£¬ÒòΪԭÀ´´úÂëÊÇÓÃStored Procedure¿ª·¢µÄ¡£

C£®Rabbit MQ·þÎñÆ÷ £ºÍ¬²½»úÖÆ·þÎñÆ÷½«½âÎö¹ýµÄSQLÓï¾ä͸¹ýRabbit MQ´«Ê䏸Gemfire¼¯Èº×öÓàÆ±¼ÆËã¡£

D£®Gemfire¼¯Èº½«ÓàÆ±¼ÆËã½á¹û»ã×ܺó£¬Ìá½»¸øÇ°¶ËµÄÓ¦Óûº´æ·þÎñÆ÷ÌṩÓàÆ±¿ìËÙ²éѯ¡£

£¨2£©ÏµÍ³Êý¾Ý½á¹¹·ÖÎö

Êý¾Ý½á¹¹·ÖÎöºÍÉè¼ÆÊÇÔÚ¸ÄÔì¹ý³ÌÖÐ×î¹Ø¼üµÄÒ»²½£¬Ó°Ïìµ½ºóÐøÐÔÄܵÄÌáÉý£» ÀûÓá°Êý¾ÝÍø¸ñShare Nothing¡±µÄÌØÐÔ, ½«Êý¾ÝÇиî, °Ñ ¡°Êý¾Ý¹ØÁªÐÔÇ¿¡±µÄÊý¾Ý·ÅÔÚͬһ¸öGemfire Êý¾Ý½Úµã£¬ÔÙÅäºÏÒµÎñÂß¼­µÄÉè¼Æ£¬½µµÍ½ÚµãÖ®¼äÊý¾Ý½»»»µÄÑÓ³Ù£¬Ìá¸ßϵͳ´¦ÀíÄÜÁ¦¡£

£¨3£©Benchmark £¨»ù×¼µã£©²âÊÔ

½øÐÐBenchmark²âÊÔ, ÆÀ¹Àÿ²¿Gemfire·þÎñÆ÷µÄTPSºÍÓàÆ±¼ÆË㷴Ӧʱ¼ä

-ÑéÖ¤Gemfire¼¯ÈºÐÔÄÜ¿ÉËæ×Åx86Ðé»úµÄÔö¼Ó¶øÏßÐÔÔö¼Ó

²âÊÔ¡°ÊµÊ±Í¬²½¡±»úÖÆ, Á¿²âÊý¾Ýͬ²½µ½Gemfire¼¯ÈºµÄÎȶ¨ÐÔ£¬ÑÓ³ÙºÍÍÌÍÂÁ¿

£¨4£©ÏµÍ³Îȶ¨ÐÔ, °²È«ÐÔºÍHAÉè¼Æ

ÔÚGemfireµÄÊý¾Ý½Úµã¶¼ÓÐÆäËü½ÚµãµÄ±¸·ÝÊý¾ÝÀ´´ïµ½HAµÄÄ¿µÄ£¬Ò²¿ÉÒÔ½«ÄÚ´æÊý¾Ý³Ö¾Ã»¯µ½Ó²ÅÌ»òÊÇÊý¾Ý¿â¡£

ʹÓÃGemfire¸ÄÔìµÄʵʩÁ÷³Ì£º

1. ÐèÇó·ÖÎö½×¶Î£º

ÐèÇóµ÷ÑУ¬È·¶¨¸ÄÔì·½°¸¡¢·ÖÎöÊý¾Ý±í½á¹¹¡¢Ñù±¾Êý¾Ý¡¢Êý¾ÝÁ¿¼°Ó¦Ó÷ÃÎÊÌØÐÔÐÅÏ¢

2. ¼Ü¹¹Éè¼Æ£º

Éè¼ÆRegion½á¹¹£¬È·¶¨·ÖÇø·½Ê½£¬ºÍ Éè¼Æ¶þ¼¶Ë÷Òý

Êý¾ÝÇиpartition£©·ÅÔÚGemfireµÄ½Úµã£¬ ÿ¸ö½ÚµãÊý¾ÝÁ¿´óСÊǸù¾ÝÎïÀí»úÄÚ´æÀ´¾ö¶¨¡£ÀýÈ磬 ÔÚ°¢ÀïÔÆµÄ½ÚµãÒ»°ãÊÇ30G×óÓÒ£¬ÔÚÌú×ÜÊý¾ÝÖÐÐĵĽڵãÊÇ60G-120G×óÓÒ¡£ ´ÓÏîÄ¿¾­ÑéÀ´Ëµ£¬GemfireÊý¾Ý½ÚµãÒÔ²»³¬¹ý128G¿ÉµÃµ½×î¼ÑЧ¹û¡£

ÀûÓÃData GridºÍMap ReduceµÄ·Ö²¼Ê½¼¼ÊõÌṩǿ´óµÄCPU´¦ÀíÄÜÁ¦¡£

ʹÓõ½µÄGemfire¹¦Äܲο¼ÏÂÁÐÃèÊö

3. ±àÂëºÍµ¥Ôª²âÊÔ£º

12306ÊDzÉÓÃStored Procedure¿ª·¢£¬±ØÐ뽫Stored Procedure½âÎö£¬ ²ÉÓÃJava¿ª·¢ºÍ±àÂ룬²¢½«ÒµÎñÂß¼­´úÂëºÍÊý¾Ý¶¼·ÅÔÚGemfire½Úµã£¬ ´Ë¾Ù¿ÉÒÔ´ïµ½×î¸ßµÄϵͳÐÔÄÜ

µ¥Ôª²âÊÔ

4. ¼¯³É²âÊÔ/׼ȷ¶È²âÊÔ/ÐÔÄܵ÷ÓÅ£º

ÔÚ¼¯Èº»·¾³Ï½øÐÐ׼ȷ¶È²âÊÔ

ÔÚ¼¯Èº»·¾³Ï½øÐÐÐÔÄܼ°Ñ¹Á¦²âÊÔ

ÒÀ¾Ý²âÊÔ½á¹û½øÐÐÐÔÄܵ÷ÓÅ

ÐÔÄܵ÷ÓÅ¿ÉÄÜÐèÒªµ÷Õûϸ²¿¼Ü¹¹µÄÖØÐÂÉè¼Æ

5. HAºÍÈȲ¿Êð²âÊÔ

6. ÏßÉÏÔËά£º

´´½¨Release°æ±¾²¢ÄÉÈë¹ÜÀí

ÅäÖò¿ÊðÉú²ú»·¾³²¢½øÐгÖÐø¼à¿Ø

Ö÷ÒªµÄGemfire¹¦ÄÜÌØÐÔ£º

ÔÚ12306¸ÄÔì¹ý³ÌÖУ¬Ê¹Óõ½ÏÂÁÐGemfireµÄ¹¦ÄÜÌØÐÔ£º

Rich Objects: ÒÔobjectsµÄÐÎʽÌåÏֺͱàÂ룬×Ô¼º¶¨ÒåÊý¾Ý½á¹¹

Elastic Growth w/o pausing £º µ¯ÐÔÀ©Õ¹ºÍÈȲ¿Êð

Partitioned Active Data £º ¸ù¾ÝÊý¾ÝÊôÐÔ£¬ÀýÈ磺¿Í»§£¬¶©µ¥£¬³µ´Î£¬Õ¾Ãû£¬×öºÏÀíµÄÊý¾ÝÇи·ÅÔÚ²»Í¬µÄÊý¾Ý½Úµã¡£

Redundancy for instant FT£ºHAµÄÉèÖÃ

Colocated Active Data£º share nothingµÄ¸ÅÄ½«¹ØÁªÐÔÇ¿µÄÊý¾Ý·ÅÔÚͬһ¸öGemfire Êý¾Ý½Úµã£¬ ÀýÈ磬³µ´Î£¬Õ¾Ãû
Replicated Master Data£º Êý¾ÝÁ¿²»´óµÄ³£ÓÃÊý¾Ý£¬ÀýÈ磺վÃû×ÖµäºÍϯλÀà±ðµÈ£¬ÔÚÿ¸öGemfire½Úµã¶¼ÓÐÒ»·Ý¿½±´£¬´Ë¾ÙÊÇÒª¼õÉÙÊý¾ÝµÄ½»»»¡£

Server-side Event Listeners£º µ±Êý¾ÝÔÚServer¶Ë²úÉú±ä»¯Ê±£¬»á´¥·¢ÏàÓ¦µÄ²Ù×÷

Client-side Durable Subscriptions£ºµ±Server¶ËÂú×ã¿Í»§¶Ë¶©ÔĵÄijЩÌõ¼þʱ£¬»áÍÆËÍÐÅÏ¢

Parallel Map-Reduce Function Execution£º ³µ´ÎÓàÆ±ÔÚÿ¸öGemfire ½Úµã²¢ÐÐÔËË㣬ÔÙ»ã×ÜÔËËã½á¹û

Parallel OQL Queries

Continuous Queries

LRU Overflow to disk in native format for fast retrieval

Parallel, Shared Nothing Persistence to disk w/ online backup

Asynchronous Write Behind, Write Through or Read Through

ËÄ¡¢Éç±£ÏîÄ¿×Óϵͳ¸ÄÔìÇ¨ÒÆµ½GemfireÔÆÆ½Ì¨

Éç±£É걨×Óϵͳ¸ÄÔìÔ­ÔòºÍÄ¿±ê

´Ó·ÃÎÊÁ¿ºÍ²¢·¢Á¿¹æÄ£À´Ëµ£¬Éç±£ËùÓöµ½µÄÎÊÌâÔ¶Ô¶Ñ·ÓÚ12306ËùÅöµ½µÄÌôÕ½¡£×Óϵͳ¸ÄÔìÊÇ»ùÓÚVMwareÐéÄâ»¯ÔÆÆ½Ì¨»ù´¡ÉÏÌáÉýÉ걨ϵͳµÄ²éѯÐÔÄÜ¡£

£¨1£©É趨ÐÔÄÜÖ¸±ê£º

ÐÔÄÜÖ¸±êÐèÒª´ïµ½Ô­ÓÐ×ÓϵͳÐÔÄÜ50±¶ÒÔÉÏ

£¨2£©Õë¶ÔÏÂÁÐÁ½¸ö×Óϵͳƿ¾±½øÐоֲ¿¸ÄÔì

½É·Ñ¹¤×ÊÉ걨

³ÇÕòÖ°¹¤Ôö¼Ó

£¨3£©¸ÄÔìºóµÄ×ÓϵͳÐÔÄÜ¿ÉËæ×ÅGemfire½ÚµãÐé»úµÄÔö¼Ó¶øÏßÐÔÔö¼Ó

£¨4£©ÏµÍ³¸ß¿ÉÓÃÐÔ£¨HA£©

²Î¿¼12306ÃèÊö¡£

×Óϵͳƿ¾±µÄ¾Ö²¿¸ÄÔì²½Ö裺

É籣ϵͳÊǺܸ´ÔÓÅÓ´óµÄϵͳ£¬ÓÉÉϰٸöÄ£¿é¹¹³É¡£´Ëϵͳ²ÉÈ¡Èý²ã¼Ü¹¹Éè¼Æ£¬ ʹÓÃJava¿ª·¢¡£Ö÷ÒªÎÊÌâÔÚÓڸ߲¢·¢É걨¹ý³ÌÖУ¬ Ƶ·±µÄÊý¾Ý¿âдÈëºÍ´óÁ¿²éѯµ¼ÖÂÓ²¼þƽ̨¸ß¸ºÔØ£¬×Óϵͳ²»Îȶ¨£¬ ÎÞ·¨Õý³£·ÃÎÊ¡£

×ÓϵͳµÄ¸ÄÔìÊÇÕë¶ÔÊý¾Ý¿âÆ¿¾±Ìá³ö¸ÄÁ¼·½°¸

²ÉÈ¡Êý¾Ý¿â¡°¶Á/д·ÖÀë¡°µÄ·½Ê½£¬½«Êý¾Ý¡°Ð´È롱¹ØÏµÐÍÊý¾Ý¿â£»½«¡°¶Á¡±µÄ²Ù×÷ÓÉGemfire¼¯ÈºÀ´Ìṩ£¬ÒòΪ²éѯµÄ·ÃÎÊÁ¿ÊýÊ®±¶ÓÚÊý¾ÝµÄдÈëÁ¿¡£

¿Í»§¶Ë×ÊÁÏдÈëʱ£¬Í¬Ê±½«Êý¾ÝдÈëGemfire½ÚµãºÍ¹ØÏµÐÍÊý¾Ý¿â

½«¡°Óû¸ÄÔì¡°µÄ×ÓϵͳҵÎñÂß¼­´úÂë¸ÄдºóÒÆµ½Gemfire½ÚµãÖ´ÐÐ

Gemfire¼¯ÈºÌṩ¸Õ¼Èë¡°ÈȵãÊý¾Ý¡°µÄ¿ìËÙ²éѯ

²»Í¬×ÓϵͳÊý¾Ý¿âÖ®¼äµÄÊý¾ÝÅúÁ¿Í¬²½£¬½«ÆäËü×Óϵͳ¡°ÍêÕû¡±µÄÈȵãÊý¾ÝÉÏÔØµ½Gemfire¼¯ÈºÌṩ¿ìËÙ²éѯ

Ïà¹ØµÄ¸ÄÔì²½ÖèºÍʵʩÁ÷³ÌÇë²Î¿¼ÉÏÊöµÄ12306Õ½ڣ¬¸ÄÔìºóµÄ¼Ü¹¹ÈçÏÂͼËùʾ¡£

Î塢ij½ðÈÚµ¥Î»POCÏîÄ¿ - ½¨Á¢¿ÉÀ©Õ¹µÄ ¡°·Ö²¼Ê½Äڴ滺´æÊý¾Ý²ã¡±

½ðÈÚµ¥Î»ÏµÍ³ÊÇÓÉÉϰٸö×Óϵͳ¹¹³É£¬ ËùÓеÄ×Óϵͳ´ÓÉè¼Æµ½¿ª·¢¶¼Òª×ñÑ­±ê׼ͳһ¿ª·¢Á÷³Ì£¬×Óϵͳ²ÉÈ¡Èý²ã¼Ü¹¹Éè¼Æ£¬Ó¦ÓÃÂß¼­²ãÓëÊý¾Ý·ÃÎʲãÉè¼Æ²ã´Î·ÖÃ÷¡£ÓÉÓÚÒµÎñ²éѯÁ¿´ó£¬Ç£É浽ʮ¼¸ÕŹØÁª±íµÄ²éѯ£¬ÏµÍ³·´Ó¦Ê±¼ä³¤¡£Êý¾Ý¿â¶ÁдƵ·±£¬CPUʱ³£Âú¸ºÔØ£¬µ¼ÖÂϵͳÐÔÄÜÆ¿¾±¡£

POC×Óϵͳ¸ÄÔìÄ¿±ê

¸ÄÔ췽ʽÊÇÔÚ²»¸Ä±ä×ÓϵͳҵÎñÂß¼­Çé¿öÏ£¬¶ÔÊý¾Ý·ÃÎÊ²ã½øÐÐÐÞ¸ÄDAO½Ó¿Ú£¬ÒýÈë¡°·Ö²¼Ê½»º´æÊý¾Ý²ã¡±¼Ü¹¹¡£

£¨1£©É趨ÐÔÄÜÖ¸±ê£º

ÐÔÄÜÖ¸±êÐèÒª´ïµ½Ô­ÓÐ×ÓϵͳÐÔÄÜ20±¶ÒÔÉÏ

£¨2£©Õë¶ÔÁ½¸ö×Óϵͳ½øÐÐDAO½Ó¿Ú¸ÄÔì

£¨3£©ÑéÖ¤¸ÄÔìºóµÄ×Óϵͳ²éѯÐÔÄÜ¿ÉËæ×ÅGemfireÐé»úµÄÔö¼Ó¶øÏßÐÔÔö¼Ó

£¨4£©ÏµÍ³¸ß¿ÉÓÃÐÔ£¨HA£©

³ýÁËGemfire¼¯ÈºµÄHAÒÔÍ⣬»¹Òª¿¼ÂÇϵͳÎȶ¨ÐԺͰ²È«ÐÔ£¬ ²ÉÓá°Ê§Ð§×ªÒÆ fail over¡±Éè¼Æ£¬ÍòÒ»Gemfire¼¯ÈºÒ쳣ʱ£¬¸ÄÓÉÊý¾Ý¿âÌṩ²éѯ·þÎñ

Êý¾Ý·ÃÎʲ㣨DAO£©¸ÄÔì²½Ö裺

¸ù¾Ý¿Í»§³¡¾°µÄÒªÇó£¬×ÓϵͳµÄ¸ÄÔìÊÇÕë¶ÔÊý¾Ý¿âÌá³ö¸ÄÁ¼·½°¸£¬¶ÔÊý¾Ý·ÃÎÊ²ã½øÐÐÐÞ¸ÄDAO½Ó¿Ú£¬Ç¶Èë¡°»º´æÊý¾Ý´úÀí²ã¡± £¨Delegator£©¼Ü¹¹¡£

»º´æÊý¾Ý´úÀí²ãÓÐÈçϹ¦ÄÜÉè¼Æ£º

»º´æÊý¾Ý´úÀí²ãÏòÉÏ·â×°Êý¾Ý·ÃÎʽӿڣ¬ÏòÏÂͬʱ֧³ÖDBºÍGemfire»º´æÊý¾Ý²ã

ÓëÒµÎñÂß¼­Ïà¹ØµÄAPI¿ÉÒÔËæ×ÅÒµÎñÐèÇ󣬰´Ð赯ÐÔÔö¼ÓAPI½Ó¿ÚµÄÖ§³Ö

¸ù¾ÝGemfireµÄÌØÐÔ£¬¶ÔSQLÓï¾ä½øÐÐÐ޸ģ¬Éè¼Æ³É²¢Ðвéѯ¹¦ÄÜ

¿¼ÂÇÊý¾ÝÒ»ÖÂÐÔµÄÒªÇ󣬿ͻ§¶ËÊý¾ÝÖ±½ÓдÈë¹ØÏµÐÍÊý¾Ý¿â£¬ÔÙ½«Êý¾Ýͬ²½µ½Gemfire¼¯ÈºÌṩ¿ìËÙ²éѯ¡£

ÍòÒ»Gemfire¼¯ÈºÓÐÒì³££¬¿Í»§¶Ë¿ÉÖ±½Ó·ÃÎÊÊý¾Ý¿â£¬ÊµÏÖ»º´æÊý¾Ý²ãºÍDBÖ®¼äµÄÎÞ·ìÇл»

ÁíÍ⣬ÆäËûÊý¾Ý¿â»òHadoop¼¯Èº´æ´¢È«Á¿ÒµÎñÊý¾Ý£¬¿É½«¡°ÈȵãÊý¾Ý¡±ÉÏÔØµ½»º´æÊý¾Ý²ã

ͨ¹ýGemfireÒì²½¶ÓÁÐÒ²¿ÉÒÔ½«GemfireµÄ¡°ÈȵãÊý¾Ý¡±³Ö¾Ã»¯µ½DB»òHadoop¼¯Èº

µ±²éѯÔÚGemfire»º´æÊý¾Ý²ãδÃüÖÐʱ£¬Í¨¹ýCache loader´ÓDB»òHadoop¼¯Èº¼ÓÔØÊý¾Ýµ½»º´æÊý¾Ý²ã£¬ Ìṩ²éѯ·þÎñ¡£

Ïà¹ØµÄ¸ÄÔì²½ÖèºÍʵʩÁ÷³ÌÇë²Î¿¼ÉÏÊöµÄ12306Õ½ڣ¬¸ÄÔìºóµÄ¼Ü¹¹Ê¾ÒâͼÈçÏ£º

Áù¡¢½áÂÛºÍÆôʾ

ÓÉÉÏÃæ¼¸¸ö°¸Àý˵Ã÷£¬²»Í¬µÄÓû§Óв»Í¬µÄËßÇ󣬲»Í¬µÄϵͳ¿ª·¢»·¾³ºÍ²»Í¬µÄÏÞÖÆÌõ¼þËù²ÉÓõĸÄÔ췽ʽҲ²»Ò»Ñù¡£×ܽáÈçÏ£º

£¨1£©12306ÏîÄ¿£º Á÷Á¿¸ß£¬²¢·¢ÐÔÇ¿£¬·þÎñÆ÷¸ºÔظߣ¬·´Ó¦Ê±¼äÒªÇóÑϸñ£»ÎªÁ˱ÜÃâijһ¸ö»·½ÚµÄÆ¿¾±£¬ÐèÒªÀí˳Õû¸öÁ÷³Ì, ½«Ò»ÏµÁеÄ×Óϵͳ×ö¡°ÔÆ»¯¡±µÄ¸ÄÔì¡£¸ù¾Ýʵ¼ÊÐèÇ󣬽«ÔÆ»¯ºóµÄ×Óϵͳ°´Ð貿ÊðÔÚ¹«ÓÐÔÆÌṩ·þÎñ¡£ ¸ÄÔìµÄÊÖ¶ÎÊÇÓá°·Ö²¼Ê½Êý¾ÝÍø¸ñ¡±µÄ¼¼Êõ£¬½áºÏÒµÎñÂß¼­ÌØÐÔºÍÊý¾Ý½á¹¹£¬½«ÒµÎñÂß¼­ºÍ¹ØÁªÐÔÇ¿µÄÊý¾Ý·ÅÔÚͬ¸öGemfireÊý¾Ý½Úµã£¬ÀûÓÃMap ReduceµÄ¼¼ÊõÌṩǿ´óµÄCPU¼ÆËãÄÜÁ¦À´½â¾öÎÊÌâ¡£

£¨2£© Éç±£ÏîÄ¿£º Éç±£ÊÔµãÏîÄ¿µÄ¸ÄÔìÖØµãÊÇÕë¶Ô»á·¢ÉúÆ¿¾±µÄ×Óϵͳ½øÐиÄÔ죬½«×ÓϵͳҵÎñÂß¼­ºÍ¹ØÁªÐÔÇ¿µÄÊý¾Ý·ÅÔÚͬ¸öGemfireÊý¾Ý½Úµã£¬ÀûÓÃGemfire·Ö²¼Ê½²¢Ðвéѯ¼¼ÊõÀ´½â¾ö¸ß²¢·¢²éѯµÄÒªÇ󣬲¢ÎªÕþ¸®ÐÐÕþ²¿ÃŹÜÀí͸Ã÷»¯£¬ÄÚÈݸü·á¸»µÄ¡°Open Data¡±·þÎñƽ̨ÆÌ·¡£

¶ÔÓÚÈ˿ڴóÊ¡£¬ÀýÈç¹ã¶«£¬ºÓÄÏ£¬½­ËÕºÍËÄ´¨È˿ڽӽüÉÏÒÚµÄÊ¡·Ý£¬Ëæ×ÅÉç±£ÌåÖÆµÄ¸Ä¸ï£¬¸üÒª¿¼ÂÇ¡°´óÊý¾Ý¡±µÄ´æ´¢ºÍ²éѯ£¬ÒòΪÕâЩÉç±£×ÊÁÏ´ïPÁ¿¼¶£¬ÐèÒª´æ´¢ÊýÊ®ÄêÒÔÉÏ¡£ ´óÊý¾ÝºÍ¿ìÊý¾ÝµÄÉè¼Æ¿ÉÒÔ½è¼ø 12306 ¶©µ¥·Ö¼¶²éѯµÄ»úÖÆ£¬½«¡°ÈȵãÊý¾Ý¡±·ÅÔÚGemfire»º´æ¼¯ÈºÌṩ¿ìËÙ²éѯ£¬½«ÀúÊ·Êý¾Ý´æ·ÅÔÚHadoop¼¯Èº¡£µ±²éѯÔÚGemfire»º´æÊý¾Ý²ãδÃüÖÐʱ£¬Í¨¹ýCache loader´ÓDB»òHadoop¼¯Èº¼ÓÔØÊý¾Ýµ½»º´æÊý¾Ý²ã£¬Ìṩ²éѯ·þÎñ¡£

£¨3£© ½ðÈÚµ¥Î»POCÏîÄ¿£º ´ËPOCµÄ¸ÄÔìÓëÉÏÊöÁ½¸öÏîÄ¿²»Ò»Ñù£¬ÔÚ12306ºÍÉç±£ÏîÄ¿¸ÄÔì¶¼ÊÇÐèÒª½«ÒµÎñÂß¼­¸ÄдÔÚGemfire¼¯Èº£» ´Ë½ðÈÚµ¥Î»POCµÄ²âÊÔÄ¿µÄÊÇÔÚ²»¸ÄдҵÎñÂß¼­µÄÇé¿öÏ£¬¶ÔÔ­À´ÏµÍ³µÄÊý¾Ý·ÃÎʲ㣨DAO£©½øÐиÄÔ죬 Ìṩ¿ÉÀ©Õ¹µÄ·Ö²¼Ê½»º´æÊý¾Ý²ãÌṩ¿ìËÙ·þÎñ£¬²¢Ìá¹©Ê§Ð§×ªÒÆµÄÉè¼Æ¡£

   
2368 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ