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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
MongoDB¸ß¿ÉÓü¯ÈºÅäÖõļ¸ÖÖ·½°¸
 
×÷ÕߣºÚûÔ½ À´Ô´£ºÔÆÆÜÉçÇø ·¢²¼ÓÚ 2016-10-28
  3361  次浏览      28
 

ÕªÒª£º ¸ß¿ÉÓÃÐÔ¼´HA£¨High Availability£©Ö¸µÄÊÇͨ¹ý¾¡Á¿Ëõ¶ÌÒòÈÕ³£Î¬»¤²Ù×÷£¨¼Æ»®£©ºÍÍ»·¢µÄϵͳ±ÀÀ££¨·Ç¼Æ»®£©Ëùµ¼ÖµÄÍ£»úʱ¼ä£¬ÒÔÌá¸ßϵͳºÍÓ¦ÓõĿÉÓÃÐÔ¡£

>>¸ß¿ÉÓü¯ÈºµÄ½â¾ö·½°¸

¸ß¿ÉÓÃÐÔ¼´HA£¨High Availability£©Ö¸µÄÊÇͨ¹ý¾¡Á¿Ëõ¶ÌÒòÈÕ³£Î¬»¤²Ù×÷£¨¼Æ»®£©ºÍÍ»·¢µÄϵͳ±ÀÀ££¨·Ç¼Æ»®£©Ëùµ¼ÖµÄÍ£»úʱ¼ä£¬ÒÔÌá¸ßϵͳºÍÓ¦ÓõĿÉÓÃÐÔ¡£

¼ÆËã»úϵͳµÄ¸ß¿ÉÓÃÔÚ²»Í¬µÄ²ãÃæÉÏÓв»Í¬µÄ±íÏÖ£º

£¨1£©ÍøÂç¸ß¿ÉÓÃ

ÓÉÓÚÍøÂç´æ´¢µÄ¿ìËÙ·¢Õ¹£¬ÍøÂçÈßÓ༼Êõ±»²»¶ÏÌáÉý£¬Ìá¸ßITϵͳµÄ¸ß¿ÉÓÃÐԵĹؼüÓ¦ÓþÍÊÇÍøÂç¸ß¿ÉÓÃÐÔ£¬ÍøÂç¸ß¿ÉÓÃÐÔÓëÍøÂç¸ß¿É¿¿ÐÔÊÇÓÐÇø±ðµÄ£¬ÍøÂç¸ß¿ÉÓÃÐÔÊÇͨ¹ýÆ¥ÅäÈßÓàµÄÍøÂçÉ豸ʵÏÖÍøÂçÉ豸µÄÈßÓ࣬´ïµ½¸ß¿ÉÓõÄÄ¿µÄ¡£

±ÈÈçÈßÓàµÄ½»»»»ú£¬ÈßÓàµÄ·ÓÉÆ÷µÈ

£¨2£©·þÎñÆ÷¸ß¿ÉÓÃ

·þÎñÆ÷¸ß¿ÉÓÃÖ÷ҪʹÓõÄÊÇ·þÎñÆ÷¼¯ÈºÈí¼þ»ò¸ß¿ÉÓÃÈí¼þÀ´ÊµÏÖ¡£

£¨3£©´æ´¢¸ß¿ÉÓÃ

ʹÓÃÈí¼þ»òÓ²¼þ¼¼ÊõʵÏÖ´æ´¢µÄ¸ß¶È¿ÉÓÃÐÔ¡£ÆäÖ÷Òª¼¼ÊõÖ¸±êÊÇ´æ´¢Çл»¹¦ÄÜ£¬Êý¾Ý¸´Öƹ¦ÄÜ£¬Êý¾Ý¿ìÕÕ¹¦Äܵȡ£µ±Ò»Ì¨´æ´¢³öÏÖ¹ÊÕÏʱ£¬Áíһ̨±¸ÓõĴ洢¿ÉÒÔ¿ìËÙÇл»£¬´ïÒ»´æ´¢²»Í£»úµÄÄ¿µÄ¡£

>>MongoDBµÄ¸ß¿ÉÓü¯ÈºÅäÖÃ

¸ß¿ÉÓü¯Èº£¬¼´High Availability Cluster£¬¼ò³ÆHA Cluster¡£

¼¯Èº£¨cluster£©¾ÍÊÇÒ»×鼯Ëã»ú£¬ËüÃÇ×÷Ϊһ¸öÕûÌåÏòÓû§Ìṩһ×éÍøÂç×ÊÔ´¡£

ÕâЩµ¥¸öµÄ¼ÆËã»úϵͳ ¾ÍÊǼ¯ÈºµÄ½Úµã£¨node£©¡£

´î½¨¸ß¿ÉÓü¯ÈºÐèÒªºÏÀíµÄÅäÖöą̀¼ÆËã»úÖ®¼äµÄ½ÇÉ«£¬Êý¾Ý»Ö¸´£¬Ò»ÖÂÐԵȣ¬Ö÷ÒªÓÐÒÔϼ¸ÖÖ·½Ê½£º

£¨1£©Ö÷´Ó·½Ê½ £¨·Ç¶Ô³Æ·½Ê½£©

Ö÷»ú¹¤×÷£¬±¸»ú´¦ÓÚ¼à¿Ø×¼±¸×´¿ö£»µ±Ö÷»úå´»úʱ£¬±¸»ú½Ó¹ÜÖ÷»úµÄÒ»Çй¤×÷£¬´ýÖ÷»ú»Ö¸´Õý³£ºó£¬°´Ê¹ÓÃÕßµÄÉ趨ÒÔ×Ô¶¯»òÊÖ¶¯·½Ê½½«·þÎñÇл»µ½Ö÷»úÉÏÔËÐУ¬Êý¾ÝµÄÒ»ÖÂÐÔͨ¹ý¹²Ïí´æ´¢ÏµÍ³½â¾ö¡£

£¨2£©Ë«»úË«¹¤·½Ê½£¨»¥±¸»¥Ô®£©

Á½Ì¨Ö÷»úͬʱÔËÐи÷×ԵķþÎñ¹¤×÷ÇÒÏ໥¼à²âÇé¿ö£¬µ±ÈÎһ̨Ö÷»úå´»úʱ£¬Áíһ̨Ö÷»úÁ¢¼´½Ó¹ÜËüµÄÒ»Çй¤×÷£¬±£Ö¤¹¤×÷ʵʱ£¬Ó¦Ó÷þÎñϵͳµÄ¹Ø¼üÊý¾Ý´æ·ÅÔÚ¹²Ïí´æ´¢ÏµÍ³ÖС£

£¨3£©¼¯Èº¹¤×÷·½Ê½£¨¶à·þÎñÆ÷»¥±¸·½Ê½£©

¶ą̀Ö÷»úÒ»Æð¹¤×÷£¬¸÷×ÔÔËÐÐÒ»¸ö»ò¼¸¸ö·þÎñ£¬¸÷Ϊ·þÎñ¶¨ÒåÒ»¸ö»ò¶à¸ö±¸ÓÃÖ÷»ú£¬µ±Ä³¸öÖ÷»ú¹ÊÕÏʱ£¬ÔËÐÐÔÚÆäÉϵķþÎñ¾Í¿ÉÒÔ±»ÆäËüÖ÷»ú½Ó¹Ü¡£

MongoDB¼¯ÈºÅäÖõÄʵ¼ùÒ²×ñÑ­ÁËÕ⼸¸ö·½°¸£¬Ö÷ÒªÓÐÖ÷´Ó½á¹¹£¬¸±±¾¼¯·½Ê½ºÍSharding·ÖƬ·½Ê½¡£

>>Master-SlaveÖ÷´Ó½á¹¹

Ö÷´Ó¼Ü¹¹Ò»°ãÓÃÓÚ±¸·Ý»òÕß×ö¶Áд·ÖÀë¡£Ò»°ãÓÐÒ»Ö÷Ò»´ÓÉè¼ÆºÍÒ»Ö÷¶à´ÓÉè¼Æ¡£

ÓÉÁ½ÖÖ½ÇÉ«¹¹³É£º

£¨1£©Ö÷(Master)

¿É¶Á¿Éд£¬µ±Êý¾ÝÓÐÐ޸ĵÄʱºò£¬»á½«oplogͬ²½µ½ËùÓÐÁ¬½ÓµÄsalveÉÏÈ¥¡£

£¨2£©´Ó(Slave)

Ö»¶Á²»¿Éд£¬×Ô¶¯´ÓMasterͬ²½Êý¾Ý¡£

ÌØ±ðµÄ£¬¶ÔÓÚMongodbÀ´Ëµ£¬²¢²»ÍƼöʹÓÃMaster-Slave¼Ü¹¹£¬ÒòΪMaster-SlaveÆäÖÐMasterå´»úºó²»ÄÜ×Ô¶¯»Ö¸´£¬ÍƼöʹÓÃReplica Set£¬ºóÃæ»áÓнéÉÜ£¬³ý·ÇReplicaµÄ½ÚµãÊý³¬¹ý50£¬²ÅÐèҪʹÓÃMaster-Slave¼Ü¹¹£¬Õý³£Çé¿öÊDz»¿ÉÄÜÓÃÄÇô¶à½ÚµãµÄ¡£

»¹ÓÐÒ»µã£¬Master-Slave²»Ö§³ÖÁ´Ê½½á¹¹£¬SlaveÖ»ÄÜÖ±½ÓÁ¬½ÓMaster¡£RedisµÄMaster-SlaveÖ§³ÖÁ´Ê½½á¹¹£¬Slave¿ÉÒÔÁ¬½ÓSlave£¬³ÉΪSlaveµÄSlave¡£

>>Relica Set¸±±¾¼¯·½Ê½

MongodbµÄReplica Set¼´¸±±¾¼¯·½Ê½Ö÷ÒªÓÐÁ½¸öÄ¿µÄ£¬Ò»¸öÊÇÊý¾ÝÈßÓà×ö¹ÊÕϻָ´Ê¹Ó㬵±·¢ÉúÓ²¼þ¹ÊÕÏ»òÕ߯äËüÔ­ÒòÔì³ÉµÄå´»úʱ£¬¿ÉÒÔʹÓø±±¾½øÐлָ´¡£

ÁíÒ»¸öÊÇ×ö¶Áд·ÖÀ룬¶ÁµÄÇëÇó·ÖÁ÷µ½¸±±¾ÉÏ£¬¼õÇáÖ÷£¨Primary£©µÄ¶ÁѹÁ¦¡£

1.PrimaryºÍSecondary´î½¨µÄReplica Set

Replica SetÊÇmongodµÄʵÀý¼¯ºÏ£¬ËüÃÇÓÐ×ÅͬÑùµÄÊý¾ÝÄÚÈÝ¡£°üº¬ÈýÀà½ÇÉ«£º

£¨1£©Ö÷½Úµã£¨Primary£©

½ÓÊÕËùÓеÄдÇëÇó£¬È»ºó°ÑÐÞ¸Äͬ²½µ½ËùÓÐSecondary¡£Ò»¸öReplica SetÖ»ÄÜÓÐÒ»¸öPrimary½Úµã£¬µ±Primary¹Òµôºó£¬ÆäËûSecondary»òÕßArbiter½Úµã»áÖØÐÂÑ¡¾Ù³öÀ´Ò»¸öÖ÷½Úµã¡£Ä¬È϶ÁÇëÇóÒ²ÊÇ·¢µ½Primary½Úµã´¦ÀíµÄ£¬ÐèҪת·¢µ½SecondaryÐèÒª¿Í»§¶ËÐÞ¸ÄÒ»ÏÂÁ¬½ÓÅäÖá£

£¨2£©¸±±¾½Úµã£¨Secondary£©

ÓëÖ÷½Úµã±£³ÖͬÑùµÄÊý¾Ý¼¯¡£µ±Ö÷½Úµã¹ÒµôµÄʱºò£¬²ÎÓëÑ¡Ö÷¡£

£¨3£©ÖÙ²ÃÕߣ¨Arbiter£©

²»±£ÓÐÊý¾Ý£¬²»²ÎÓëÑ¡Ö÷£¬Ö»½øÐÐÑ¡Ö÷ͶƱ¡£Ê¹ÓÃArbiter¿ÉÒÔ¼õÇáÊý¾Ý´æ´¢µÄÓ²¼þÐèÇó£¬ArbiterÅÜÆðÀ´¼¸ºõûʲô´óµÄÓ²¼þ×ÊÔ´ÐèÇ󣬵«ÖØÒªµÄÒ»µãÊÇ£¬ÔÚÉú²ú»·¾³ÏÂËüºÍÆäËûÊý¾Ý½Úµã²»Òª²¿ÊðÔÚͬһ̨»úÆ÷ÉÏ¡£

×¢Ò⣬һ¸ö×Ô¶¯failoverµÄReplica Set½ÚµãÊý±ØÐëÎªÆæÊý£¬Ä¿µÄÊÇÑ¡Ö÷ͶƱµÄʱºòÒªÓÐÒ»¸ö´ó¶àÊý²ÅÄܽøÐÐÑ¡Ö÷¾ö²ß¡£

£¨4£©Ñ¡Ö÷¹ý³Ì

ÆäÖÐSecondaryå´»ú£¬²»ÊÜÓ°Ï죬ÈôPrimaryå´»ú£¬»á½øÐÐÖØÐÂÑ¡Ö÷£º

2.ʹÓÃArbiter´î½¨Replica Set

żÊý¸öÊý¾Ý½Úµã£¬¼ÓÒ»¸öArbiter¹¹³ÉµÄReplica Set·½Ê½£º

>>Sharding·ÖƬ¼¼Êõ

µ±Êý¾ÝÁ¿±È½Ï´óµÄʱºò£¬ÎÒÃÇÐèÒª°ÑÊý¾Ý·ÖƬÔËÐÐÔÚ²»Í¬µÄ»úÆ÷ÖУ¬ÒÔ½µµÍCPU¡¢ÄÚ´æºÍIOµÄѹÁ¦£¬Sharding¾ÍÊÇÊý¾Ý¿â·ÖƬ¼¼Êõ¡£

MongoDB·ÖƬ¼¼ÊõÀàËÆMySQLµÄˮƽÇзֺʹ¹Ö±Çз֣¬Êý¾Ý¿âÖ÷ÒªÓÉÁ½ÖÖ·½Ê½×öSharding£º´¹Ö±À©Õ¹ºÍºáÏòÇз֡£

´¹Ö±À©Õ¹µÄ·½Ê½¾ÍÊǽøÐм¯ÈºÀ©Õ¹£¬Ìí¼Ó¸ü¶àµÄCPU£¬Äڴ棬´ÅÅ̿ռäµÈ¡£

ºáÏòÇзÖÔòÊÇͨ¹ýÊý¾Ý·ÖƬµÄ·½Ê½£¬Í¨¹ý¼¯ÈºÍ³Ò»Ìṩ·þÎñ£º

£¨1£©MongoDBµÄSharding¼Ü¹¹

£¨2£©MongoDB·ÖƬ¼Ü¹¹ÖеĽÇÉ«

A.Êý¾Ý·ÖƬ£¨Shards£©

ÓÃÀ´±£´æÊý¾Ý£¬±£Ö¤Êý¾ÝµÄ¸ß¿ÉÓÃÐÔºÍÒ»ÖÂÐÔ¡£¿ÉÒÔÊÇÒ»¸öµ¥¶ÀµÄmongodʵÀý£¬Ò²¿ÉÒÔÊÇÒ»¸ö¸±±¾¼¯¡£

ÔÚÉú²ú»·¾³ÏÂShardÒ»°ãÊÇÒ»¸öReplica Set£¬ÒÔ·ÀÖ¹¸ÃÊý¾ÝƬµÄµ¥µã¹ÊÕÏ¡£ËùÓÐShardÖÐÓÐÒ»¸öPrimaryShard£¬ÀïÃæ°üº¬Î´½øÐл®·ÖµÄÊý¾Ý¼¯ºÏ£º

B.²éѯ·ÓÉ£¨Query Routers£©

·ÓɾÍÊÇmongosµÄʵÀý£¬¿Í»§¶ËÖ±½ÓÁ¬½Ómongos£¬ÓÉmongos°Ñ¶ÁдÇëÇó·Óɵ½Ö¸¶¨µÄShardÉÏÈ¥¡£

Ò»¸öSharding¼¯Èº£¬¿ÉÒÔÓÐÒ»¸ömongos£¬Ò²¿ÉÒÔÓжàmongosÒÔ¼õÇá¿Í»§¶ËÇëÇóµÄѹÁ¦¡£

C.ÅäÖ÷þÎñÆ÷£¨Config servers£©

±£´æ¼¯ÈºµÄÔªÊý¾Ý£¨metadata£©£¬°üº¬¸÷¸öShardµÄ·ÓɹæÔò¡£

 

   
3361 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

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

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ

²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí

GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí