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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ϵͳ¼Ü¹¹Éè¼ÆÀíÂÛÓëÔ­Ôò¡¢¸ºÔؾùºâ¼°¸ß¿ÉÓÃϵͳÉè¼ÆËÙ¼Ç
 
×÷ÕߣºJeff Wong À´Ô´£ºblog ·¢²¼ÓÚ£º 2016-7-8
  4216  次浏览      27
 

Ò»¡¢ÏµÍ³¼Ü¹¹Éè¼ÆÀíÂÛÓëÔ­Ôò

ÕâÀïÖ÷Òª½éÉܼ¸ÖÖ³£¼ûµÄ¼Ü¹¹Éè¼ÆÀíÂÛºÍÔ­Ôò£¬³£¼ûÓÚ´óÖÐÐÍ»¥ÁªÏµÍ³¼Ü¹¹Éè¼Æ¡£

£¨Ò»£©¡¢CAPÀíÂÛ

1¡¢Ê²Ã´ÊÇCAP

ÖøÃûµÄCAPÀíÂÛÊÇÓÉBrewerÌá³öµÄ£¬ËùνCAP£¬¼´Ò»ÖÂÐÔ£¨Consistency£©¡¢¿ÉÓÃÐÔ£¨Availability£©ºÍ·ÖÇøÈÝ´íÐÔ£¨Partition Tolerance£©¡£

£¨1£©¡¢Consistency£¨Ò»ÖÂÐÔ£©£º¸üвÙ×÷³É¹¦²¢·µ»Ø¿Í»§¶ËÍê³Éºó,·Ö²¼Ê½µÄËùÓнڵãÔÚͬһʱ¼äµÄÊý¾ÝÍêȫһÖ£¨All nodes see the same data at the same time£©¡£

ÕâÀïµÄÒ»ÖÂÐÔ£¬Ò»¶¨ÒªºÍ´«Í³µÄRDBMSÖеÄÊÂÎñÒ»ÖÂÐÔÇø·Ö¿ª¡£

ÔÚ´«Í³µÄRDBMSÖУ¬ÊÂÎñ¾ßÓÐACID4¸öÊôÐÔ£¬¼´Ô­×ÓÐÔ£¨Atomicity£©£¬Ò»ÖÂÐÔ£¨Consistency£©£¬¸ôÀëÐÔ£¨Isolation£©ºÍ³Ö¾ÃÐÔ£¨Durable£©¡£

ACIDÊǹØÏµÐÍÊý¾Ý¿âµÄ×î»ù±¾Ô­Ôò£¬×ñÑ­ACIDÔ­ÔòÇ¿µ÷Ò»ÖÂÐÔ£¬¶Ô³É±¾ÒªÇóºÜ¸ß£¬¶ÔÐÔÄÜÓ°ÏìºÜ´ó¡£

a¡¢Ô­×ÓÐÔ£¨Atomicity£©£ºÊÂÎñÊÇÒ»¸öÔ­×Ó²Ù×÷µ¥Ôª£¬Æä¶ÔÊý¾ÝµÄÐ޸ģ¬ÒªÃ´È«¶¼Ö´ÐУ¬ÒªÃ´È«¶¼²»Ö´ÐС£

b¡¢Ò»ÖÂÐÔ£¨Consistency£©£ºÔÚÊÂÎñ¿ªÊ¼ºÍÍê³Éʱ£¬Êý¾Ý¶¼±ØÐë±£³ÖÒ»ÖÂ״̬¡£ÕâÒâζ×ÅËùÓÐÏà¹ØµÄÊý¾Ý¹æÔò¶¼±ØÐëÓ¦ÓÃÓÚÊÂÎñµÄÐ޸ģ¬ÒÔ±£³ÖÊý¾ÝµÄÍêÕûÐÔ£»ÊÂÎñ½áÊøÊ±£¬ËùÓеÄÄÚ²¿Êý¾Ý½á¹¹£¨ÈçBÊ÷Ë÷Òý»òË«ÏòÁ´±í£©Ò²¶¼±ØÐëÊÇÕýÈ·µÄ¡£

c¡¢¸ôÀëÐÔ£¨Isolation£©£ºÊý¾Ý¿âϵͳÌṩһ¶¨µÄ¸ôÀë»úÖÆ£¬±£Ö¤ÊÂÎñÔÚ²»ÊÜÍⲿ²¢·¢²Ù×÷Ó°ÏìµÄ¡°¶ÀÁ¢¡±»·¾³Ö´ÐС£ÕâÒâζ×ÅÊÂÎñ´¦Àí¹ý³ÌÖеÄÖмä״̬¶ÔÍⲿÊDz»¿É¼ûµÄ£¬·´Ö®ÒàÈ»¡£

d¡¢³Ö¾ÃÐÔ£¨Durability£©£ºÊÂÎñÍê³ÉÖ®ºó£¬Ëü¶ÔÓÚÊý¾ÝµÄÐÞ¸ÄÊÇÓÀ¾ÃÐԵ쬼´Ê¹³öÏÖϵͳ¹ÊÕÏÒ²Äܹ»±£³Ö¡£

MITµÄGilbertºÍLynchÔÚÖ¤Ã÷CAPµÄ¹ý³ÌÖиıäÁËConsistencyµÄ¸ÅÄҲ¾ÍÊǽ«Consistencyת»¯ÎªAtomic¡£GilbertÈÏΪÕâÀïËù˵µÄConsistencyÆäʵ¾ÍÊÇÊý¾Ý¿âϵͳÖÐÌáµ½µÄACIDµÄÁíÒ»ÖÖ±íÊö£ºÒ»¸öÓû§ÇëÇóҪô³É¹¦¡¢ÒªÃ´Ê§°Ü£¬²»ÄÜ´¦ÓÚÖмä״̬£¨Atomic£©£»Ò»µ©Ò»¸öÊÂÎñÍê³É£¬½«À´µÄËùÓÐÊÂÎñ¶¼±ØÐë»ùÓÚÕâ¸öÍê³ÉºóµÄ״̬£¨Consistent£©£»Î´Íê³ÉµÄÊÂÎñ²»»á»¥ÏàÓ°Ï죨Isolated£©£»Ò»µ©Ò»¸öÊÂÎñÍê³É£¬¾ÍÊdz־õģ¨Durable£©¡£

£¨2£©¡¢Availability£¨¿ÉÓÃÐÔ£©£º¶ÁºÍд²Ù×÷¶¼Äܳɹ¦£¨Reads and writes always succeed£©¡£

¿ÉÓÃÐÔÊÇ˵·þÎñÄÜÒ»Ö±±£Ö¤ÊÇ¿ÉÓõÄ״̬£¬µ±Óû§·¢³öÒ»¸öÇëÇ󣬷þÎñÄÜÔÚÓÐÏÞʱ¼äÄÚ·µ»Ø½á¹û£¬ËùÓеÄÇëÇó¶¼ÄÜ¡°³É¹¦¡±Äõ½¶ÔÓ¦µÄÏìÓ¦¡£

£¨3£©¡¢Partition Tolerance£¨·ÖÇøÈÝ´íÐÔ£©£ºÔÚ³öÏÖÍøÂç¹ÊÕϵ¼Ö·ֲ¼Ê½½Úµã¼ä²»ÄÜͨÐÅʱ£¬ÏµÍ³ÄÜ·ñ¼ÌÐø·þÎñ£¨The system continues to operate despite arbitrary message loss or failure of part of the system£©¡£

Ö±¹Û¸ÐÊܾÍÊÇϵͳÖнڵãcrash»òÕßÍøÂç·ÖƬ¶¼²»Ó¦¸Ãµ¼ÖÂÒ»¸ö·Ö²¼Ê½ÏµÍ³Í£Ö¹·þÎñ¡£

2¡¢ÈçºÎÖ¤Ã÷CAP£¿

CAPµÄÖ¤Ã÷ºÜ¼òµ¥£º

¼ÙÉèÁ½¸ö½Úµã¼¯{G1, G2}£¬ÓÉÓÚÍøÂç·ÖƬµ¼ÖÂG1ºÍG2Ö®¼äËùÓеÄͨѶ¶¼¶Ï¿ªÁË¡£

Èç¹ûÔÚG1ÖÐд£¬ÔÚG2ÖжÁ¸ÕдµÄÊý¾Ý£¬ G2Öзµ»ØµÄÖµ²»¿ÉÄÜÊǸոÕÔÚG1ÖеÄдֵ¡£

¶ÔÓÚ·Ö²¼Ê½Êý¾Ýϵͳ¶øÑÔ£¬·ÖÇøÈÝ´íÐÔ£¨Partition Tolerance£©ÊÇ»ù±¾ÒªÇ󣬷ñÔò¾Í²»³ÆÆäΪ·Ö²¼Ê½ÏµÍ³¡£

ÓÉÓÚ¿ÉÓÃÐÔ£¨Availability£©µÄÒªÇó£¬G2Ò»¶¨Òª·µ»ØÕâ´Î¶ÁÇëÇó£¬ÒòΪ·ÖÇøÈÝ´íÐÔ£¨Partition Tolerance£©µÄ´æÔÚ£¬µ¼ÖÂÒ»ÖÂÐÔ£¨Consistency£©Ò»¶¨ÊDz»¿ÉÂú×ãµÄ¡£

CAPÀíÂÛ¸æËßÎÒÃÇ£¬Ò»¸ö·Ö²¼Ê½ÏµÍ³²»¿ÉÄÜͬʱÂú×ãÒ»ÖÂÐÔ£¬¿ÉÓÃÐԺͷÖÇøÈÝ´íÐÔÕâÈý¸öÐèÇó£¬Èý¸öÒªËØÖÐ×î¶àÖ»ÄÜͬʱÂú×ãÁ½µã¡£

ÏÔÈ»,ÈκκáÏòÀ©Õ¹²ßÂÔ¶¼ÒªÒÀÀµÓÚÊý¾Ý·ÖÇø£¬Èí¼þ¼Ü¹¹Í¨³£±ØÐëÔÚÒ»ÖÂÐÔ£¨Consistency£©Óë¿ÉÓÃÐÔ£¨Availability£©Ö®¼ä×ö³öÑ¡Ôñ¡£

3¡¢CAPµÄÑÓÉìBASE

BASEÊÇBasically Available¡¢Soft state¡¢Eventually consistentÈý¸ö´Ê×éµÄ¼òд£¬ÊǶÔCAPÖÐC ºÍAµÄÑÓÉì¡£

£¨1£©Basically Available£º»ù±¾¿ÉÓ㬼´Êý¾ÝÒ»ÖÂÐÔÄܹ»»ù±¾Âú×ã¶þ°Ë¶¨ÂÉ£¬¼´ÖÁÉÙ±£Ö¤80%Ò»ÖÂÐÔ£¬Ê£ÏÂ20%¾Í²»Òª¹ýÓÚ¾À½á¡£

£¨2£©Soft-state£ºÈí״̬/ÈáÐÔÊÂÎñ£¬¼´×´Ì¬¿ÉÒÔÓÐÒ»¶Îʱ¼äµÄ²»Í¬²½¡£

ÔÚ²»¹ý·Ö×·ÇóÊý¾ÝÒ»ÖÂÐÔ£¨Ç¿Ò»ÖÂÐÔ£©Ç°ÌáÏ¿ɿ¼ÂÇÈí״̬²ßÂÔ£¬ÀýÈç°ÑÊý¾Ý£¨State£©»º´æÔÚ¿Í»§¶ËÒ»¶Îʱ¼ä£¬ÔÚÒ»¶Îʱ¼ä¹ýºó£¬Èç¹û¿Í»§¶ËûÓÐÔÙ´ÎË¢ÐÂ״̬µÄÇëÇóµÄ»°£¬¾ÍÇå³ý´Ë»º´æ£¨Soft£©£¬Õâ¸ö״̬¾Í»áÏûʧ¡£

£¨3£©Eventual consistency£º×îÖÕÒ»ÖÂÐÔ£¬¼´ÔÚijһ¶Î¶Ìʱ¼äÄÚÔÊÐíÊý¾Ý²»Ò»Ö£¬µ«¾­¹ýÒ»¶Î½Ï³¤Ê±¼ä£¨ÕâÀïµÄÒ»¶Îʱ¼ä¶àÊýÊÇÒµÎñÄܹ»ÈÝÈ̵ÄÑÓ³Ù£©£¬µÈËùÓнڵãÉÏÊý¾ÝµÄ¿½±´¶¼ÕûºÏÔÚÒ»ÆðµÄʱºò£¬Êý¾Ý»á×îÖÕ´ïµ½ÍêȫһÖ¡£ÎÒÓÃ×Ô¼ºµÄ¾­ÑéºÍÇ×Éíʵ¼ùÖ¤Ã÷£¬×îÖÕÒ»ÖÂÐԹᴩ×Å»¥ÁªÍøÓÈÆäÊǵç×ÓÉÌÎñÀàÐ͵ÄÖ÷ÒªÓ¦ÓõÄÉúÃüÖÜÆÚ¡£
BASEÀ´×ÔÓÚ»¥ÁªÍøµÄµç×ÓÉÌÎñÁìÓòµÄʵ¼ù£¬ËüÊÇ»ùÓÚCAPÀíÂÛÖð²½ÑÝ»¯¶øÀ´£¬ºËÐÄ˼ÏëÊǼ´±ã²»ÄܴﵽǿһÖÂÐÔ(Strong Consistency)£¬µ«¿ÉÒÔ¸ù¾ÝÓ¦ÓÃÌØµã²ÉÓÃÊʵ±µÄ·½Ê½À´´ïµ½×îÖÕÒ»ÖÂÐÔ(Eventual consistency)µÄЧ¹û¡£BASEÊÇ·´ACIDµÄ£¬ËüÍêÈ«²»Í¬ÓÚACIDÄ£ÐÍ£¬ÎþÉüǿһÖÂÐÔ£¬»ñµÃ»ù±¾¿ÉÓÃÐÔºÍÈáÐÔ¿É¿¿ÐÔ²¢ÒªÇó´ïµ½×îÖÕÒ»ÖÂÐÔ¡£

CAP¡¢BASEÀíÂÛÊǵ±Ç°ÔÚ»¥ÁªÍøÁìÓò·Ç³£Á÷ÐеÄNoSQLµÄÀíÂÛ»ù´¡¡£

£¨¶þ£©¡¢ÎÞ¹²Ïí¼Ü¹¹

1¡¢Ê²Ã´ÊÇÎÞ¹²Ïí¼Ü¹¹

ÎÞ¹²Ïí¼Ü¹¹SNA£¨Shared Nothing Architecture£©£¬Î¬»ù°Ù¿ÆÖеÄ˵Ã÷ÊÇ£º

¡°A shared nothing architecture (SN) is a distributed computing architecture in which each node is independent and self-sufficient, and there is no single point of contention across the system. More specifically, none of the nodes share memory or disk storage. People typically contrast SN with systems that keep a large amount of centrally-stored state information, whether in a database, an application server, or any other similar single point of contention.¡±

×ܽáÆðÀ´Ëµ£¬ÎÞ¹²Ïí¼Ü¹¹ÊÇÒ»ÖÖ·Ö²¼Ê½¼ÆËã¼Ü¹¹£¬ÕâÖּܹ¹Öв»´æÔÚ¼¯Öд洢µÄ״̬£¬ÏµÍ³ÖÐÿ¸ö½Úµã¶¼ÊǶÀÁ¢×ÔÖεģ¬Õû¸öϵͳÖÐûÓÐ×ÊÔ´¾ºÕù£¬ÕâÖּܹ¹¾ßÓзdz£Ç¿µÄÀ©ÕÅÐÔ£¬Ä¿Ç°ÔÚwebÓ¦ÓÃÖб»¹ã·ºÊ¹Óá£

ÎÞ¹²Ïí¼Ü¹¹µÄÒ»¸öÖØÒªÊµ¼ùÖ¸µ¼Ô­Ôò¾ÍÊDZÜÃâÔÚ»¥ÁªÏµÍ³ÖÐʹÓÃSession£¬ÒòΪʵ¼ùÒѾ­Ö¤Ã÷£¬ÔÚÒ»¸ö¼¯Èº·Ö²¼Ê½¼ÆËã»·¾³ÖУ¬ÈôSession״̬ά»¤ÔÚ¸÷¸ö½Úµã·þÎñÆ÷ÉÏ£¬ÎªÁ˱£Ö¤×´Ì¬Ò»ÖÂÐÔ£¬½Úµã¼äSessionÊý¾ÝÐèÒª»¥Ï࿽±´Í¬²½£¬ÑÏÖØÓ°ÏìÐÔÄÜ£¬ÎÒÃÇÐèÒª¾¡¿ÉÄܵĸÄÔìÏÖÓмܹ¹²»ÒªÊ¹ÓÃSession¡£

2¡¢¶Ô±È

shared-nothing¡¢shared-memory¡¢shared-diskÊDz¢ÐÐϵͳ×ʹÓõÄģʽ¡£

shared-memory£º¶à¸öcpu¹²ÏíͬһƬÄڴ棬cpuÖ®¼äͨ¹ýÄÚ²¿Í¨Ñ¶»úÖÆ½øÐÐͨѶ

shared-disk£ºÃ¿Ò»¸öcpuʹÓÃ×Ô¼ºµÄ˽ÓÐÄÚ´æÇøÓò£¬Í¨¹ýÄÚ²¿Í¨Ñ¶»úÖÆÖ±½Ó·ÃÎÊËùÓдÅÅÌϵͳºÍshared-memory¡¢shared-diskÏà±È£¬shared-nothingÓÅÊÆÃ÷ÏÔ£¬ÔÚÕë¶Ô¶àÓû§²¢ÐзÃÎʵÄʱºò£¬Í¨¹ýºáÏòÀ©³ä×ÊÔ´£¬Äܹ»´ó´ó¼õÉÙÏìӦʱ¼ä£¬ÌáÉýÕûÌåÍÌÍÂÁ¿ºÍЧÂÊ¡£

3¡¢·ÖƬ

shared notingÐèҪȷÁ¢Ò»ÖÖ·ÖÆ¬²ßÂÔ£¬Ê¹µÃÒÀ¾Ý²»Í¬µÄ·ÖƬ²ßÂÔ£¬¼õÉÙ×ÊÔ´¾ºÕù¡£
ÈýÖÖ»ù±¾µÄ·ÖƬ²ßÂԽṹ£º

£¨1£©¡¢ ¹¦ÄÜ·ÖÆ¬
¸ù¾Ý¶à¸ö¹¦ÄÜ»¥Ïà²»ÖØµþµÄÌØµã½øÐÐ·ÖÆ¬£¬ÕâÖÖ·½Ê½ÒѾ­ÔÚebayÈ¡µÃ¾Þ´ó³É¹¦¡£È±µãÒ²ºÜÃ÷ÏÔ£¬¼´¼¼ÊõÈËÔ±ÐèÒªÉîÈëÀí½âÓ¦ÓÃÁìÓò£¬²ÅÄܸüºÃµØ·ÖƬ¡£

£¨2£©¡¢ ¼üÖµ·ÖƬ
ÔÚÊý¾ÝÖÐÕÒµ½Ò»¸ö¿ÉÒÔ¾ùÔÈ·Ö²¼µ½¸÷¸ö·ÖƬÖеļüÖµ¡£

£¨3£©¡¢ ²é±í
ÔÚ¼¯ÈºÖÐÓÐÒ»¸ö½Úµã³äµ±Ä¿Â¼½ÇÉ«£¬ÓÃÓÚ²éѯÄĸö½ÚµãÓµÓÐÓû§Òª·ÃÎʵÄÊý¾Ý¡£È±µãÔÚÓÚÕâ¸ö±í¿ÉÄܳÉΪÕû¸öϵͳµÄÆ¿¾±¼°µ¥µãʧЧµã¡£

³£¼ûµÄ¿ªÔ´DAL£¨ÈçCobarClient¡¢Fastser-DAL¡¢Uncode-DALµÈ£©ÊµÏֵġ°Â·ÓÉ¡±¹¦ÄܾÍÓвé±íµÄÓ°×Ó¡£

4¡¢ÏÖ×´

SNAĿǰ¹ã·º´æÔÚ£¬ÖØÒªµÄ³£¼ûµÄÓ¦ÓðüÀ¨Map-reduce¡¢BigTable¡¢Cassandra¡¢MongoDBµÈ¡£

£¨Èý£©¡¢ED-SOA¼Ü¹¹

ÕâÖּܹ¹ÒѾ­³ÉΪ¸÷ÖÖ´óÖÐÐÍÆóÒµµÄ±êÅ䣬ÓÈÆäÊÇÒµÎñºÍ¹ØÏµ¸´ÔӵĻ¥ÁªÏµÍ³£¬Ã»ÓÐED-SOAµÄ×éÖ¯ºÍµ÷¶È£¬Ó¦ÓúܿÉÄܾ­³£ÃæÁÙן÷ÖÖÎÊÌâ¡£

ED-SOA£¨Event Driven-Service Oriented Architecture£©£¬¼´Ê¼þÇý¶¯µÄÃæÏò·þÎñ¼Ü¹¹¡£

SOAÊÇϵͳ×é¼þ»¯ºÍÄ£¿é»¯¹¹½¨ÐÔÀíÂÛ£¬ËüµÄºËÐÄÊDZ©Â¶È»ºó´¦Àí£¨expose and handle£©¡£

EDAÊÇÒÔʼþΪºËÐÄ£¬Ö±¹ÛÀí½â¾ÍÊǸºÔðʲôʱºò´¥·¢£¬È»ºó×öʲô¡£

SOAʹʼþ£¨Event£©¿çϵͳÁ÷¶¯£¬ÏµÍ³×é¼þÖ®¼äͨ³£ÊÇͬ²½Í¨ÐÅ£¬¿ÉÒÔ²Éȡʼþ»úÖÆÊ¹Í¨ÐÅÒì²½»¯£¬Ìá¸ßÏìÓ¦ËÙ¶È¡£

»ùÓÚED-SOA¹¹½¨ËÉñîºÏϵͳ¿ÉÒÔÏÔÖø¸ÄÉÆÍøÕ¾¿ÉÉìËõÐÔ¡£

¹ØÓÚED-SOAµÄÀíÂÛºÍʵ¼ùÎÄÕÂʵÔÚÌ«¶à£¬±¾ÎľͲ»ÔÙÖØ¸´×¸ÊöÁË¡£


¶þ¡¢¸ºÔؾùºâ
1¡¢Ê²Ã´ÊǸºÔؾùºâ£¿

¸ºÔؾùºâ£¨Load Balance£©£¬¹ËÃû˼Ò壬ÊǰѷþÎñµÄ²¢·¢ÇëÇó¾ùºâµØ¸ºÔص½ºó¶Ë¶à¸ö¾ßÓÐÏàͬÄÜÁ¦µÄ·þÎñ½øÐд¦Àí·Öµ££¬ÒÔÁ®¼ÛÓÐЧ͸Ã÷µÄ·½Ê½À©Õ¹ÍøÂçÉ豸»ò·þÎñµÄ´ø¿í£¬Ôö¼ÓÍÌÍÂÁ¿£¬ÔöÇ¿·þÎñµÄÕûÌå´¦ÀíÄÜÁ¦£¬Ìṩ·þÎñµÄÁé»îÐԺͿÉÓÃÐÔ¡£

³£¼ûµÄµäÐ͵ĸºÔؾùºâÓ¦Óó¡¾°£º

£¨1£©¡¢web¼¯Èº£º½«´óÁ¿µÄ²¢·¢·ÃÎÊ»òÊý¾ÝÁ÷Á¿·Öµ£µ½¶ą̀½ÚµãÉ豸ÉÏ·Ö±ð´¦Àí£¬¼õÉÙÓû§µÈ´ýÏìÓ¦µÄʱ¼ä¡£

£¨2£©¡¢MapReduce£ºµ¥¸öÖØ¸ºÔصÄÔËËã·Öµ£µ½¶ą̀½ÚµãÉ豸ÉÏ×ö²¢Ðд¦Àí£¬Ã¿¸ö½ÚµãÉ豸´¦Àí½áÊøºó£¬½«½á¹û»ã×Ü£¬·µ»Ø¸ø?»§£¬ÏµÍ³´¦ÀíÄÜ?µÃµ½´ó·ù¶ÈÌá¸ß¡£

2¡¢¸ºÔؾùºâËã·¨

¸ºÔؾùºâËã·¨ÊǸºÔؾùºâÉ豸£¨°üÀ¨ÐéÄâÉ豸»òÏà¹ØÈí¼þ£©ÔÚÖ´ÐиºÔؾùºâµ÷¶È£¬Ñ¡Ôñ¾ßÌå´¦ÀíµÄºó¶Ë·þÎñµÄʱºòʹÓõĵ÷¶ÈºÍ·Ö·¢µÄÂß¼­¡£

¸ºÔؾùºâµÄËã·¨Ö»Êǹ涨Á˵÷¶ÈºÍ·Ö·¢µÄÂß¼­£¬ÔÚ²»Í¬µÄ¸ºÔؾùºâ·½°¸Öж¼¿ÉÄÜʹÓÃÏàͬºÍ£¨»ò£©ÀàËÆµÄËã·¨£¬ËüÖ»ÊǸºÔؾùºâ·½°¸µÄÒ»²¿·Ö¡£

³£¼ûµÄÖ÷Á÷¸ºÔؾùºâËã·¨°üÀ¨£º

£¨1£©¡¢ÂÖѯËã·¨£ºRound Robin/Weight Round Robin Scheduling

ÂÖѯË㷨ͨ¹ýÒÀ´ÎÂֽеķ½Ê½ÒÀ´Î½«ÇëÇóµ÷¶È²»Í¬µÄºó¶Ë·þÎñÆ÷(Real Server)¡£Í¨³£¿ÉÒÔ·ÖΪÆÕͨÂÖѯºÍ¼ÓȨÂÖѯÁ½ÖÖ·½Ê½¡£Ëã·¨µÄÓŵãÊǼò½àÇÒÎÞ״̬¡£

Ëã·¨¼òµ¥±íʾΪ£ºi = ( i + 1 ) mod n

£¨2£©¡¢HashËã·¨: Ëæ»úÊýHash£¬Sources Hashing Scheduling

HashËã·¨£¬ÓÖ½ÐÈ¡ÓàËã·¨¡£Ò»°ãÊǶÔÇëÇó±¨ÎÄÖеÄijÏîÊý¾Ý(key£¬Ò»°ã³£Óÿͻ§¶ËÀ´Ô´IP)¼ÆËãHashÖµ£¬È»ºó°´»úÆ÷ÊýÁ¿(n)ȡģ¡£

Ëã·¨¼òµ¥±íʾΪ£ºidx = Hash(key) % n

HashËã·¨ÖУ¬KeyµÄÑ¡Ôñ³£ÓÃʵ¼ùÈçÏ£º

a¡¢ÇëÇóʱ¼ä»òËæ»úÊý
ÌØµãÊǼòµ¥£¬¾ßÓÐÒ»¶¨·ÖÉ¢ÐÔ£¬µ«²»Îȶ¨£¬Ò»°ãÓÃÓÚÒªÇ󲻸ߵĸºÔؾùºâ³¡¾°¡£

b¡¢À´Ô´IP

ÌØµãÊǼòµ¥¡£Èç¹û¿Í»§µÄ·Ö²¼±È½Ï¹ã£¬ÕâÖÖ·½Ê½·ÖÉ¢ÐԽϺᣵ«Èç¹û½Ï¶àµÄ¿Í»§ÇëÇóÀ´Ô´ÓÚͬһIP£¨¹«Ë¾ÍøÂçͨ¹ý·ÓÉÆ÷ÉÏÍø£©£¬·ÖɢЧ¹û½Ï²î¡£

´ó¶à¸ºÔؾùºâÉ豸¶¼Ö§³ÖÕâÖÖËã·¨£¬ÖøÃûµÄnginxºÍLVSµÈÈí¼þÒ²Ö§³Ö¡£

£¨3£©¡¢Ò»ÖÂÐÔHashËã·¨£ºConsistency Hash Scheduling

Ò»ÖÂÐÔHashËã·¨×î³£ÓÃÓÚ·Ö²¼Ê½»º´æ£¨Èçmemcached¡¢redisµÈ£©µÄ¶¨Î»£¬µ«Í¬Ê±Ò²¿ÉÒÔÔÚϵͳ»ò³ÌÐòÖÐÓÃÓÚ¸ºÔؾùºâ£¬¸ÃËã·¨±¾À´µÄÒâÒå¾ÍÔÚÓÚ·ÖÉ¢¸ºÔغͿìËÙ¶¨Î»¡£

ÍÆ¼öÔĶÁ£º½ØÖÁĿǰ¿´¹ýµÄÒ»ÖÂÐÔHashËã·¨×î¼Ñ½éÉÜÇëÃÍ»÷ÕâÀï¡£

(4£©¡¢×îÉÙÁ¬½Ó»òÇëÇóÊý: (Weight)Least Connection/Request Scheduling

×îСÁ¬½Óµ÷¶ÈÊÇÒ»ÖÖ¶¯Ì¬µ÷¶ÈËã·¨£¬Ëüͨ¹ý·þÎñÆ÷µ±Ç°Ëù»îÔ¾µÄÁ¬½ÓÊýÀ´¹À¼Æ·þÎñÆ÷µÄ¸ºÔØÇé¿ö¡£

Ëã·¨Ö÷ÒªÂß¼­ÊÇ£¬µ÷¶ÈÉ豸»ò·þÎñ¼Ç¼ºó¶Ë·þÎñÆ÷½ÓÊÜÇëÇóµÄ¼ÆÊý£¬Ã¿´ÎÇëÇó×ÜÊÇ·¢¸ø¼ÆÊý×îСµÄ·þÎñÆ÷´¦Àí¡£

£¨5£©¡¢×î´ó¿ÕÏУºMost idle First(»ùÓÚ¼à¿ØCPU,ÄÚ´æ,´ø¿íµÈ×ÛºÏÆÀ¹À)

£¨6£©¡¢Æ½¾ù×î¿ìÏìÓ¦£ºÆ½¾ù×î¿ìÏìÓ¦

£¨7£©¡¢×îÉÙÁ÷Á¿£ºLeast Traffic Scheduling

»¹ÓÐÒ»ÖÖ³£¼ûµÄ¾ÍÊÇ»ùÓڻỰµÄ¸ºÔØÊµÏÖ£¬µ«ÊÇÑϸñÀ´ËµSession(Ò»°ãÓÃÓÚWEB)²»ÄÜËãÊÇËã·¨¡£SessionʵÏÖ¸ºÔؾùºâµÄÖ÷Òª¹ý³ÌΪ£ºÊ×´ÎÇëÇó¼Ç¼Óû§µÄSessionID£¬È»ºóÔÙͨ¹ýÂÖѯµÈË㷨ѡÔñºó¶Ë·þÎñÆ÷£¬Èç¹ûÓû§ºóÐøÊ¹ÓÃͬһSessionID·¢ÆðÇëÇó£¬ÔòÎÞÐèÔÙÑ¡Ôñ·þÎñÆ÷£¬Ö±½Óת·¢¸øÇ°Ãæ¸ù¾ÝSessionIDÕÒµ½µÄ¶ÔÓ¦µÄºó¶Ë·þÎñÆ÷¡£

3¡¢¸ºÔؾùºâģʽ

¸ºÔؾùºâģʽÖ÷ÒªÊÇÖ¸ÔÚÕûÌå·½°¸ÖÐÑ¡Ôñ´Ó·þÎñÍøÂçµÄÄĸö²ã´Î»òÄĸö²úÆ·À´ÊµÏÖ¸ºÔؾùºâ·½°¸¡£

£¨1£©¡¢Íⲿģʽ£¨RR-DNS£©

RR-DNS£¬¼´DNSÂÖѯģʽ£¬ËüµÄÔ­ÀíÊÇÀûÓÃDNS·þÎñÆ÷Ö§³ÖͬһÓòÃûÅäÖöà¸ö¶ÀÁ¢IPÖ¸Ïò£¬È»ºóÂÖѯ½âÎöÖ¸ÏòIPʵÏÖ¶à´Î·ÃÎʵĵ÷¶ÈºÍ·Ö·¢£¬ÊµÏÖ¸ºÔؾùºâ¡£

ËüµÄÖ÷ÒªÌØµãΪ£º

a¡¢¸ºÔؾùºâʵÏÖÓëºó¶Ë·þÎñÍêȫûÓйØÏµ£¬ÓÐDNSÔÚ±¾µØ½âÎöÖ¸ÏòʵÏÖÂÖѯµ÷¶È¡£Õâ¸ö·½ÃæÀ´¿´ÐÔÄÜ×î¼ÑЧÂÊ×î¸ß¡£

b¡¢DNS·þÎñÎÞ·¨¼ì²âµ½ºó¶Ë·þÎñÆ÷ÊÇ·ñÕý³££¬ÔÚTTLʧЧǰ£¬»áÒ»Ö±Ö¸ÏòʧЧµÄ·þÎñÆ÷£¬Õâ¾ÍÒªÇóÔÚʵ¼ùÉú³ÉÖУ¬±ØÐë½â¾öºó¶Ë·þÎñÆ÷µÄ¸ß¿ÉÓÃÎÊÌâ¡£

c¡¢Ò»°ãµÄµÚÈý·½DNS·þÎñÌṩÉ̶¼Ö§³Ö¸Ã¹¦ÄÜ£¬µ«Èç¹û¸üÐÂÆµÂʸ߻ò¸½´ø¸üÐÂÂß¼­£¬Ò»°ã»áÔÚϵͳÄÚ×Ô¼üDNS·þÎñ£¬È»ºóÔÚ×¢²áΪ¹«¹²DNS·þÎñ¡£

£¨2£©¡¢Ó¦Óòãģʽ

a¡¢Ê²Ã´ÊÇÕýÏòºÍ·´Ïò´úÀí£¿

ÕýÏò´úÀí£ºÓû§Í¨¹ý´úÀí·þÎñ·ÃÎÊinternet, °Ñinternet·µ»ØµÄÊý¾Ýת·¢¸øÓû§¡£ÕýÏò´úÀí¶ÔÓÚÕû¸öÍøÂçÇëÇó£¬ËüµÄ½Çɫʵ¼ÊÊǿͻ§¶Ë£¬´úÀí¿Í»§¶ÔÍâµÄ·ÃÎÊÇëÇó¡£
·´Ïò´úÀí£º½ÓÊÜinternetÉÏÓû§µÄÇëÇó£¬×ª·¢¸øÄÚ²¿µÄ¶ą̀·þÎñÆ÷´¦Àí£¬Íê³Éºóת·¢ºó¶Ë·þÎñÆ÷µÄ·µ»Ø¸ø¶ÔÓ¦µÄÓû§¡£·´Ïò´úÀí¶ÔÓÚÕû¸öÍøÂçÇëÇó£¬ËüµÄ½Çɫʵ¼ÊÊÇ·þÎñÆ÷£¬´úÀí½ÓÊÜ£¨accept£©ËùÓÐÓû§µÄÇëÇó¡£

b¡¢·´Ïò´úÀíÓ¦ÓÃģʽ

³£¼ûµÄ·´Ïò´úÀíÓ¦ÓÃģʽ£¬±ÈÈçͨ¹ý Apache, nginxµÈWeb·þÎñÆ÷Èí¼þʵÏÖWEBÓ¦ÓõĸºÔؾùºâºÍ¸ß¿ÉÓá£

ÀûÓ÷´Ïò´úÀíÈí¼þʵÏÖ¸ºÔؾùºâÊÇÐԼ۱ȽϸߵÄģʽ¡£

£¨3£©¡¢ÍøÂç²ãģʽ

a¡¢IPת»»

IPת»»Ä£Ê½µÄ¸ºÔؾùºâÒ»°ãÊÇÔÚÍøÂçµÄIP²ãʵÏÖ£¬Í¨¹ý±¨ÎĸÄдµÄ·½Ê½ÊµÏÖVIPµ½¶à¸öÄÚ²¿IPµÄת·¢µ÷¶È£¬ÒÔ´ïµ½¸ºÔؾùºâµÄЧ¹û¡£
ËüµÄÖ÷ÒªÌØµã°üÀ¨£º

ÍøÂç²ã·½°¸£¬Ð§Âʽϸߣ¬Îȶ¨ÐԽϺ㻿ÉÓë²Ù×÷ϵͳÄں˽áºÏ£»¹¤Òµ¼¶Ä£Ê½ºÍ·½°¸£»´ó²¿·ÖÉÌÒµÉ豸ºÍ²úÆ·¶¼ÒԸ÷½Ê½ÎªÖ÷£»LVSµÄ»ù±¾Ô­ÀíÒ²Ààͬ¡£

b¡¢IPת»»Ö®LVS

LVS£¨Linux Virtual Server£©,ÊÇÖйúÈË£¨98Ä꣩дµÄ¹¤Òµ¼¶µÄ¸ºÔØÆ½ºâµ÷¶È½â¾ö·½°¸£¬ÕÂÎÄáÔ²©Ê¿ÊǸÿªÔ´Èí¼þ´´Ê¼ÈË¡£Ò²ÊÇĿǰҵ½ç×îÁ÷ÐеÄÈí¼þ·½Ê½ÊµÏÖ¸ºÔؾùºâµÄģʽ֮һ¡£LVSÒ²ÊÇÀûÓÃIPת·¢µÄÔ­ÀíʵÏÖ´ó¶àÊýÓÐÉÌÒµ²úƷʵÏÖµÄÄÜÁ¦£¬²¢×öÁ˲¿·ÖÓÅ»¯£¬Ö÷ÒªÓÐÈýÖÖģʽµÄÓ¦Óá£

£¨a£©¡¢Í¨¹ýNAT£¨Network Address Translation£©ÊµÏÖÐéÄâ·þÎñÆ÷£¨VS/NAT£©

£¨b£©¡¢Í¨¹ýIPËíµÀʵÏÖÐéÄâ·þÎñÆ÷£¨VS/TUN£©

£¨c£©¡¢Í¨¹ýÖ±½Ó·ÓÉʵÏÖÐéÄâ·þÎñÆ÷£¨VS/DR£©

¹ØÓÚLVSµÄ½éÉÜÎÄÕ·dz£¶à£¬ÕâÀï¾Í²»ÔÙÏêϸ½éÉÜÁË£¬ÍƼö²Î¿¼ÔĶÁ<<¹¹½¨¸ßÐÔÄÜwebÕ¾µã>>ºÍ<<´óÐÍÍøÕ¾¼¼Êõ¼Ü¹¹>>ÕâÁ½±¾ÊéÖйØÓÚ¸ºÔؾùºâµÄ²¿·ÖÕ½ڡ£

c¡¢IPת»»Ö®¸ºÔؾùºâÉ豸

F5µÈ¸ºÔؾùºâÉ豸ͬÑùÊÇÔÚÍøÂç²ãʵÏÖ¸ºÔؾùºâ£¬µ«Ò»°ã¶øÑÔÔì¼Û½ÏΪ°º¹ó£¬ÐԼ۱Ƚϵ͡£

Èý¡¢¸ß¿ÉÓÃϵͳÉè¼Æ

1¡¢ÏµÍ³¿ÉÓÃÐÔ

ϵͳ¿ÉÓÃÐÔ¶¨Ò壺MTTF/(MTTF+MTTR) * 100%

MTTF£º mean time to failure£¬Æ½¾ùʧЧǰʱ¼ä£¬Ò²¾ÍÊÇÕý³£ÔËÐеÄʱ¼ä

MTTR£º mean time to restoration£¬ ƽ¾ù»Ö¸´Ç°Ê±¼ä,Ò²¾ÍÊǹÊÕÏʱ¼ä

ϵͳ¸ß¿ÉÓÃÐÔ£¨High Availability£©Í¨³£À´ÃèÊöÒ»¸öITϵͳ¾­¹ýרÃŵÄÉè¼Æ£¬¼õÉټƻ®ºÍ·Ç¼Æ»®Í£¹¤Ê±¼ä£¬±£³ÖÆä·þÎñµÄ¸ß¶È³ÖÐø¿ÉÓÃÐÔ¡£

Ó°Ïìϵͳ¿ÉÓÃÐÔµÄÒòËØºÜ¶à£¬°üÀ¨Ó²¼þ¡¢Èí¼þ¡¢ÍøÂçºÍ»·¾³£¨±ÈÈç»ú·¿Î¶ȣ©µÈ£¬³ýÁ˳£¼ûµÄCPU¡¢ÄÚ´æ¡¢IO¡¢ÍøÂç¡¢ËøµÈÒòËØ£¬»¹ÐèÒª¿¼ÂǸ÷ÖÖÖ§³ÖÉ豸ºÍϵͳ¡¢·Ç¼¼ÊõµÄÒòËØ£¬×ÜÖ®£¬ÏµÍ³¿ÉÓÃÐÔÊÇÒ»¸ö×ÛºÏÒòËØÓ°ÏìµÄ½á¹û¡£

2¡¢¸ß¿ÉÓõÄģʽ

ϵͳ¸ß¿ÉÓÃÐԵij£ÓÃÉè¼ÆÄ£Ê½°üÀ¨ÈýÖÖ£¬°üÀ¨:

£¨1£©¡¢Ö÷±¸(Active-Standby)

¹¤×÷Ô­Àí£ºÖ÷»ú¹¤×÷£¬±¸»ú´¦ÓÚ¼à¿Ø×¼±¸×´¿ö£»µ±Ö÷»úå´»úʱ£¬±¸»ú½Ó¹ÜÖ÷»úµÄÒ»Çй¤×÷£¬´ýÖ÷»ú»Ö¸´Õý³£ºó£¬°´Ê¹ÓÃÕßµÄÉ趨ÒÔ×Ô¶¯£¨Èȱ¸£©»òÊÖ¶¯£¨À䱸£©·½Ê½½«·þÎñÇл»µ½Ö÷»úÉÏÔËÐС£Ò»°ãÐèÒªÈ˹¤¸ÉÔ¤²ÅÄܻظ´³õʼ״̬¡£

£¨2£©¡¢»¥±¸(Active-Active)

¹¤×÷Ô­Àí£ºÁ½Ì¨Ö÷»ú£¨A±ê¼ÇΪÖ÷,B±ê¼ÇΪ±¸£©Í¬Ê±ÔËÐи÷×ԵķþÎñ¹¤×÷ÇÒÏ໥¼à²âÇé¿ö£¬µ±ÈÎһ̨Ö÷»ú£¨A£©å´»úʱ£¬Áíһ̨Ö÷»ú£¨B£¬ÆôÓò¢±ê¼ÇΪÖ÷£©Á¢¼´½Ó¹ÜËüµÄÒ»Çй¤×÷£¬±£Ö¤¹¤×÷ʵʱ¿ÉÓÃ

£¨3£©¡¢¼¯Èº(Cluster)

¹¤×÷Ô­Àí£º¶ą̀¾ßÓÐÏàͬÄÜÁ¦µÄ·þÎñͬʱ¶ÔÍâÌṩ͸Ã÷·þÎñ£¬ËùÓзþÎñÖ®¼ä¶¼ÊÇActive-Active¹ØÏµ£¬²¢·Öµ£´¦Àí·þÎñÇëÇó£¬Ò»°ãͨ¹ý×ܿؽڵã»ò¼¯ÈºÈí¼þ£¨ÀýÈçzookeeperµÈ£©½øÐи߿ÉÓõĿØÖÆ¡£

3¡¢¸ß¿ÉÓõÄÉè¼Æ

¸ß¿ÉÓõÄÉè¼ÆÃ»ÓÐÍêÃÀµÄ±ê×¼´ð°¸¡£µ«ÊǸù¾Ý¹¤³Ì¾­Ñ飬ÎÒÃÇ¿ÉÒÔ×ܽá³ö¸ß¿ÉÓÃÉè¼ÆµÄÒ»¸öÖØÒªÖ¸±ê£º

²»ÒªÓе¥µã¡£

²»ÒªÓе¥µã¡£

²»ÒªÓе¥µã¡£

Ç¿µ÷ÁËÈý±é£¬ÏÖÔÚ¼ÇסÁËÂð£¿

Èç¹ûÊÇÔÚÉè¼Æ¿ª·¢ÊµÏÖºÍά»¤´óÖÐÐÍwebϵͳ£¬Í¨³£ÎÒÃÇ»á´Ó»¥ÁªÏµÍ³ÖÐ×îÈÝÒ׳öÏÖÎÊÌ⣬ͬʱҲ×î²»ÈÝÒ׺áÏòÀ©Õ¹µÄ½ÚµãÏÂÊÖ£¨°üÀ¨ÍøÂçºÍ´æ´¢ÏµÍ³£©£¬ÅŲ鲢½â³ýϵͳÖеı¡Èõ»·½Ú£¬ÕùÈ¡±£Ö¤Õû¸öϵͳÖоø²»³öÏÖµ¥µãÕâÒ»ËÀ½Ç£¬»òÕß³öÏÖµ¥µã£¬µ«Ò²¿ÉÒÔͨ¹ý³ÉÊìµÄÓÅ»¯ÊֶΣ¨»º´æ¡¢¶ÓÁС¢sharding¡¢¸ºÔؾùºâºÍÒìµØÈÝÔֵȣ©ÊµÏָ߿ÉÓá£

Äã¿ÉÄÜ»¹ÊÇ»áÓÐÒÉÎÊ£ºÊDz»ÊÇϵͳÖÐûÓе¥µãÁ˱£Ö¤¸ß¿ÉÓÃÁ˾ÍÒ»¶¨²»³öÊÂÇéÁËÄØ£¿

´ð°¸ÊÇ£¬»¹ÊÇ¿ÉÄÜ»á³öÊ£¬¶øÇÒ¿ÉÄܶ¼ÊÇ´óÊ¡£½ñÄêµÄºÚÉ«ÎåÔ·ݵðÖØ´óITʹʣ¬ÎÞÇ鵨¸æËßÎÒÃÇ£¬ÔÙ¸ßÃ÷µÄÉè¼Æ£¬Åöµ½ÎïÀíÆÆ»µ»òÕßȨÏÞ¿ØÖƲ»µ±¶øÎó²Ù×÷»òÕßDDoS¶¼ÓпÉÄÜÈÿª·¢ºÍÉè¼ÆÈËÔ±µÄËùÓÐÐÄѪ¸¶Ö®¶«Á÷¡£

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

Óû§¹ÊÊÂÓëÓÃÀý
½»»¥Éè¼ÆÊ¦Ö®¾«Òæ»­²¼Æª
Êý¾Ý·ÖÎöÖ®Óû§»­Ïñ·½·¨Óëʵ¼ù
ÈçºÎ¿ìËÙ½¨Á¢Óû§Ä£ÐÍ£¿
 
Ïà¹ØÎĵµ

Óû§½çÃæÉè¼Æ
¸øÆóÒµ×ö´óÊý¾Ý¾«×¼Óû§»­Ïñ
Óû§ÌåÑéºÍ½»»¥Éè¼Æ
´óÊý¾ÝϵÄÓû§»­Ïñ
Ïà¹Ø¿Î³Ì

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

´ÓÊÖ»úµÇÂ¼Ò³ÃæÉè¼ÆÏëµ½µÄ
ÈçºÎ°ÑÎÞÒâʶÒýÈë½»»¥Éè¼ÆÖÐ
½»»¥Éè¼ÆµÄÕæÏà
µ±ÊÓ¾õÉè¼ÆÊ¦ÓöÉϲúÆ·¾­Àí
ÊÖ»ú½»»¥Éè¼ÆÔ­Ôò
Óû§ÌåÑéÖ®ÍøÒ³°å¿éÉè¼Æ

ÒÔÓû§ÎªÖÐÐĵÄÉè¼Æ
¿ÉÓÃÐÔÆÀ¹À
Desktop¼°Web-basedÊÓ¾õÉè¼Æ
ÈÏÖªÔ­ÀíÓëÉè¼ÆÓ¦ÓÃ
ÊÖ»úÓû§½çÃæÉè¼Æ

±±¾© ÒÔÓû§ÎªÖÐÐĵĽçÃæÉè¼Æ
±±¾© Óû§ÌåÑé& ½çÃæÉè¼Æ
ÉϺ£ »ªÎª Óû§ÌåÑé& ½çÃæÉè¼Æ
ÉîÛÚ Óû§ÌåÑé& ½çÃæÉè¼Æ
°®Á¢ÐÅ ÒÔÓû§ÎªÖÐÐĵÄÉè¼Æ
±±¾© Óû§ÌåÑéÓë½çÃæÉè¼Æ
¸£ÖÝ ÒÔÓû§ÎªÖÐÐĵĽçÃæÉè¼Æ