Éè¼Æ³õÖÔ
ÔÚ·Ö²¼Ê½»·¾³ÖУ¬³öÓÚ¸ºÔØ¡¢ÈÝ´íµÈÖÖÖÖÐèÒª£¬¼¸ºõËùÓеķþÎñ¶¼»áÔÚ²»Í¬µÄ»úÆ÷½ÚµãÉϲ¿Êð¶à¸öʵÀý¡£¶øÒµÎñÏîÄ¿ÖÐÓÖ×ÜÉÙ²»Á˸÷ÖÖÀàÐ͵ÄÅäÖÃÎļþ¡£Òò´Ë£¬ÎÒÃdz£³£»áÓöµ½ÕâÑùµÄÎÊÌ⣬½ö½öÊÇÒ»¸öÅäÖÃÄÚÈݵÄÐ޸쬱ãÐèÒªÖØÐ½øÐдúÂëÌá½»SVN/Git¡¢´ò°ü¡¢·Ö·¢ÉÏÏßµÄÈ«²¿Á÷³Ì¡£µ±²¿ÊðµÄ»úÆ÷Óкܶàʱ£¬·Ö·¢ÉÏÏß±¾Éí¾ÍÊÇÒ»¸öºÜ·±ÔӵŤ×÷¡£ºÎ¿ö£¬ÅäÖÃÎļþµÄÐÞ¸ÄÆµÂÊÓÖÔ¶Ô¶´óÓÚ´úÂë±¾Éí¡£
×·±¾ËÝÔ´£¬ÎÒÃÇÈÏΪÂé·³µÄ¸ùÔ´ÊÇÈÕ³£¹ÜÀíºÍ·¢²¼¹ý³ÌÖв»¼ÓÇø·ÖÅäÖúʹúÂëÔì³ÉµÄ¡£ÅäÖñ¾ÉíÔ´ÓÚ´úÂ룬ÊÇÎÒÃÇΪÁËÌá¸ß´úÂëµÄÁé»îÐÔ¶øÌáÈ¡³öÀ´µÄһЩ¾³£±ä»¯µÄ»òÐèÒª¶¨ÖƵÄÄÚÈÝ£¬¶øÕýÊÇÅäÖõÄÕâÖÖÌìÉúµÄ±ä»¯ÌØÕ÷¸øÎÒÃÇ´øÁ˾޴óµÄÂé·³¡£
Òò´Ë£¬ÎÒÃÇ¿ª·¢ÁË·Ö²¼Ê½ÅäÖùÜÀíϵͳQConf£¬²¢ÒÀÍÐQConfÔÚ360ÄÚ²¿ÌṩÁËÒ»ÕûÌ×ÅäÖùÜÀí·þÎñ£¬QConfÖÂÁ¦ÓÚ½«ÅäÖÃÄÚÈÝ´Ó´úÂëÖÐÍêÈ«·ÖÀë³öÀ´£¬¼°Ê±¿É¿¿¸ßЧµØÌṩÅäÖ÷ÃÎʺ͸üзþÎñ¡£
ÕûÌåÈÏʶ
ΪÁËÈôó¼Ò¶ÔÖ®ºóµÄÄÚÈÝÓиöÖ±¹ÛµÄÈÏʶ£¬ÏÈÀ´½éÉÜÒ»ÏÂÈç¹ûÄãÒªÔÚ×Ô¼ºµÄÏîÄ¿ÖÐʹÓÃQConfÓ¦¸ÃÔõô×ö£º
Ê×ÏÈ£¬ÐèÒªÔÚ×Ô¼ºµÄ»úÆ÷Éϲ¿ÊðQConf£¬QConf²ÉÓÃcmake¹¹½¨£¬·Ç³£ÈÝÒס£
mkdir build && cd build
cmake ..
make
make install
Æä´Î£¬Í¨¹ýZookeeper¿Í»§¶Ë»òQConf¹ÜÀí½çÃæÔÚZookeeperÉϽ¨Á¢×Ô¼ºµÄ½Úµã½á¹¹£¬½ÚµãÍêÕû·¾¶±ãÊÇQConfµÄkeyÖµ£¬ÒÔ360¹«Ë¾ÄÚ²¿QConf¹ÜÀí½çÃæÎªÀý£º

×îºó£¬Ñ¡Ôñ×Ô¼ºÏîÄ¿µÄÓïÑÔ°æ±¾µÄQConf¿â£¬²¢ÔÚÐèÒªÐèÒª»ñµÃÅäÖÃÄÚÈݵÄλÖã¬Ö±½Óµ÷ÓÃÀàËÆÓÚget_conf(key)ÕâÑùµÄ½Ó¿Ú£¬²¢·ÅÐÄÿ´ÎÈ¡µÃµÄ¶¼ÊÇ×îÐÂÏʳö¯µÄÅäÖá£ÒÔshellÃüÁîΪÀý£º

ÐèҪ˵Ã÷µÄÊÇ£¬Ê¹ÓÃQConfºóÒѾûÓÐËùνµÄÅäÖÃÎļþµÄ¸ÅÄÄãÒª×öµÄ¾ÍÊÇÔÚÄãÐèÒªµÄµØ·½»ñÈ¡ÕýÈ·µÄÄÚÈÝ¡£ÎÒÃÇÈÏΪ£¬Õâ²ÅÊÇÄãÕæÕýÏëÒªµÄ¡£
¼Ü¹¹½éÉÜ
Á˽âÁËQConfµÄÉè¼Æ³õÖÔºÍ¶ÔÆäÓÐÁËÕûÌåÈÏʶ֮ºó£¬ÏàÐÅ´ó¼ÒÒѾÓÐÒ»¸ö¶ÔQConfʵÏֵIJÂÏë¡£ÔÚ½éÉܼܹ¹Ö®Ç°£¬»¹ÐèÒªÏò´ó¼ÒÉêÃ÷Ò»ÏÂÎÒÃǶÔÅäÖÃÐÅÏ¢µÄ¶¨Î»£¬ÒòΪÕâ¸ö¶¨Î»Ö±½Ó¾ö¶¨ÁËÎÒÃǵĽṹÉè¼ÆºÍ×é¼þÑ¡Ôñ¡£
1¡¢µ¥ÌõÊý¾ÝÁ¿Ð¡
2¡¢¸üÐÂÆµ·±£¨½Ï´úÂë¶øÑÔ£©
3¡¢ÅäÖÃ×ÜÊý¿ÉÄܾ޴󣬵«µ¥Ì¨»úÆ÷¹ØÐÄÅäÖÃÊýÓÐÏÞ
4¡¢¶Á¶àдÉÙ
½øÈëÖ÷Ì⣬¿ªÊ¼½éÉÜQConfµÄ¼Ü¹¹ÊµÏÖ£¬ÏÂͼչʾµÄÊÇQConfµÄ»ù±¾½á¹¹£¬´Ó½ÇÉ«ÉÏ»®·ÖÖ÷Òª°üÀ¨QConf¿Í»§¶Ë£¬QConf·þÎñ¶Ë£¬QConf¹ÜÀí¶Ë¡£

QConf·þÎñ¶Ë
QConfʹÓÃZooKeeper¼¯Èº×÷Ϊ·þÎñ¶ËÌṩ·þÎñ¡£ÖÚËùÖÜÖª£¬ZooKeeperÊÇÒ»Ì×·Ö²¼Ê½Ó¦ÓóÌÐòе÷·þÎñ£¬¸ù¾ÝÉÏÃæÌáµ½µÄ¶ÔÅäÖÃÄÚÈݵĶ¨Î»£¬ÎÒÃÇÈÏΪ¿ÉÒÔ½«µ¥ÌõÅäÖÃÄÚÈÝÖ±½Ó´æ´¢ÔÚZooKeeperµÄÒ»¸öZNodeÉÏ£¬²¢ÀûÓÃZooKeeperµÄWatch¼àÌý¹¦ÄÜʵÏÖÅäÖñ仯ʱ¶Ô¿Í»§¶ËµÄ¼°Ê±Í¨Öª¡£
°´ÕÕZooKeeperµÄÉè¼ÆÄ¿±ê£¬ÆäÖ»Ìṩ×î»ù´¡µÄ¹¦ÄÜ£¬°üÀ¨Ë³ÐòÒ»Ö£¬Ô×ÓÐÔ£¬µ¥Ò»ÏµÍ³¾µÏñ£¬¿É¿¿ÐԺͼ°Ê±ÐÔ¡£
ÎÒÃÇÑ¡ÔñZookeeper»¹ÒòΪËüÓÐÈçÏÂÌØµã£º
1¡¢ÀàÎļþϵͳµÄ½Úµã×éÖ¯
2¡¢Îȶ¨£¬ÎÞµ¥µãÎÊÌâ
3¡¢¶©ÔÄ֪ͨ»úÖÆ
¹ØÓÚZookeeper£¬¸ü¶à¼û£ºhttps://zookeeper.apache.org/
QConf¿Í»§¶Ë
ÒòΪZooKeeperÔÚ½Ó¿Ú·½ÃæÖ»ÌṩÁ˷dz£»ù±¾µÄ²Ù×÷£¬²¢ÇÒÆä¿Í»§¶Ë½Ó¿ÚÔʼ£¬ËùÒÔÎÒÃÇÐèÒªÔÚQConfµÄ¿Í»§¶Ë²¿·Ö½â¾öÈçÏÂÎÊÌ⣺
1¡¢½µµÍÓëZooKeeperµÄÁ´½ÓÊý ÔÉúµÄZooKeeper¿Í»§¶ËÖУ¬ËùÓÐÐèÒª»ñÈ¡ÅäÖõĽø³Ì¶¼ÐèÒªÓëZooKeeper±£³Ö³¤Á¬½Ó£¬ÔÚÉú²ú»·¾³ÖÐÿ¸ö¿Í»§¶Ë»úÆ÷¿ÉÄܶ¼»áÓÐÉϰٸö½ø³ÌÐèÒª·ÃÎÊÊý¾Ý£¬Õâ¶ÔZooKeeperµÄѹÁ¦·Ç³£´ó¶øÇÒÒ²ÊDz»±ØÒªµÄ¡£
2¡¢±¾µØ»º´æ µ±È»ÎÒÃDz»Ï£Íû¿Í»§¶Ë½ø³Ìÿ´ÎÐèÒªÊý¾Ý¶¼×ßÍøÂç»ñÈ¡£¬ËùÒÔÐèҪά»¤Ò»·Ý¿Í»§¶Ë»º´æ£¬½öÔÚÅäÖñ仯ʱ¸üС£
3¡¢ÈÝ´í µ±½ø³ÌËÀµô£¬ÍøÂçÖÕ¶Ë£¬»úÆ÷ÖØÆôµÈÒì³£Çé¿ö·¢Éúʱ£¬ÎÒÃÇÏ£ÍûÄܾ¡¿ÉÄܵÄÌṩ¿É¿¿µÄÅäÖûñÈ¡·þÎñ¡£
4¡¢¶àÓïÑÔ°æ±¾½Ó¿Ú ĿǰÌṩµÄÓïÑÔ°æ±¾°üÀ¨£ºc£¬php£¬java£¬python£¬go£¬lua£¬shell¡£
5¡¢ÅäÖøüм°Ê± ¿ÉÒÔÃ뼶ͬ²½µ½ËùÓпͻ§¶Ë»úÆ÷¡£
6¡¢¸ßЧµÄÅäÖöÁÈ¡ ÄÚ´æ¼¶µÄ·ÃÎÊËÙ¶È¡£
ÏÂÃæÀ´¿´ÏÂQConf¿Í»§¶ËµÄ¼Ü¹¹£º

¿ÉÒÔ¿´µ½QConf¿Í»§¶ËÖ÷ÒªÓУºAgent¡¢¸÷ÖÖÓïÑÔ½Ó¿Ú¡¢Á¬½ÓËûÃǵÄÏûÏ¢¶ÓÁк͹²ÏíÄÚ´æ¡£
ÔÚQConfÖУ¬ÅäÖÃÒÔKey-ValueµÄÐÎʽ´æÔÚ£¬ÒµÎñ½ø³Ì¸ø³ökey»ñµÃ¶ÔÓ¦Value£¬ÕâÓ봫ͳµÄÅäÖÃÎļþ·½Ê½ÊÇÒ»Öµġ£
ÏÂÃæÍ¨¹ýÁ½¸öÖ÷Òª³¡¾°µÄÊý¾ÝÁ÷¶¯À´ËµÃ÷ËûÃǸ÷×ԵŦÄܺͽÇÉ«£º
³¡¾°1.ÒµÎñ½ø³ÌÇëÇóÊý¾Ý£º

ÒµÎñ½ø³Ìµ÷ÓÃijһÖÖÓïÑÔµÄQConf½Ó¿Ú£¬´Ó¹²ÏíÄÚ´æÖвéÕÒÐèÒªµÄÅäÖÃÐÅÏ¢¡£
Èç¹û´æÔÚ£¬Ö±½Ó»ñÈ¡£¬·ñÔò»áÏòÏûÏ¢¶ÓÁÐÖмÓÈë¸ÃÅäÖÃkey¡£
Agent´ÓÏûÏ¢¶ÓÁÐÖиÐÖªÐèÒª»ñÈ¡µÄÅäÖÃkey¡£
AgentÏòZooKeeper²éѯÊý¾Ý²¢×¢²á¼àÌý¡£
Agent½«»ñµÃµÄÅäÖÃValueÐòÁл¯ºó·ÅÈë¹²ÏíÄÚ´æ¡£
ÒµÎñ½ø³Ì´Ó¹²ÏíÄÚ´æÖлñµÃ×îÐÂÖµ¡£
³¡¾°2.ÅäÖÃÐÅÏ¢¸üУº

ZooKeeper֪ͨAgentijÅäÖÃÏî·¢Éú±ä»¯¡£
Agent´ÓZooKeeper²éѯÐÂÖµ²¢¸üÐÂWatcher¡£
AgentÓÃÐÂÖµ¸üй²ÏíÄÚ´æÖеĸÃÅäÖÃÏî¡£
ͨ¹ýÉÏÃæµÄ˵Ã÷£¬¿ÉÒÔ¿´³öQConfµÄÕûÌå½á¹¹ºÍÁ÷³Ì·Ç³£¼òµ¥¡£ QConfÖи÷¸ö×é¼þ»òÏß³ÌÖ®¼ä½öͨ¹ýÓÐÏÞµÄÖмäÊý¾Ý½á¹¹Í¨ÐÅ£¬ñîºÏÐԷdz£Ð¡£¬¸÷×ÔÖ»¸ºÔð×Ô¼ºµÄ±¾Ö°¹¤×÷ºÍһĶÈý·ÖµØ£¬¶ø²»¸ÐÖªÕûÌå½á¹¹¡£
ÏÂÃæÍ¨¹ý¼¸¸öµãÀ´Ïêϸ½éÉÜ£º
ÎÞËø
¸ù¾ÝÉÏÎÄÌáµ½µÄÅäÖÃÐÅÏ¢µÄÌØÕ÷£¬ÎÒÃÇÈÏΪÔÚQConf¿Í»§¶Ë½øÐеÄÊÇ¶à½ø³Ì²¢ÐжÁÈ¡µÄ¹ý³Ì£¬¶ÔÅäÖÃÊý¾ÝÀ´Ëµ¶Á²Ù×÷Ô¶¶àÓÚд²Ù×÷¡£ÎªÁ˾¡¿ÉÄܵÄÌá¸ß¶ÁЧÂÊ£¬Õû¸öQConf¿Í»§¶ËÔÚ²Ù×÷¹²ÏíÄÚ´æÊ±²ÉÓõÄÊÇÎÞËøµÄ²Ù×÷£¬Í¬Ê±ÎªÁ˱£Ö¤Êý¾ÝµÄÕýÈ·£¬²ÉÈ¡ÁËÈçÏÂÁ½¸ö´ëÊ©£º
µ¥µãд
½«Ð´²Ù×÷¼¯Öе½µ¥Ò»Ị̈߳¬ÆäËûÏß³Ìͨ¹ýÖмäÊý¾Ý½á¹¹Óë֮ͨÐÅ£¬Ð´²Ù×÷ÅŶӣ¬ÓÃÕâÖÖ·½·¨ÎþÉüµôһЩдЧÂÊ¡£ ÔÚQConf¿Í»§¶Ë£¬ÐèÒª¶Ô¹²ÏíÄÚ´æ½øÐÐд²Ù×÷µÄ³¡¾°ÓУº
Óû§½ø³Ìͨ¹ýÏûÏ¢¶ÓÁз¢Ë͵ÄÐè»ñÈ¡Key£»
ZooKeeper ÅäÖÃÐÞ¸Äɾ³ýµÈ´¥·¢Watcher֪ͨ£¬Ðè¸üУ»
ΪÁËÏû³ýWatcher¶ªÊ§Ôì³ÉµÄ²»Ò»Ö£¬ÐèÒª¶¨Ê±¶Ô¹²ÏíÄÚ´æÖеÄËùÓÐÅäÖÃÖØÐÂ×¢²áWatcher£¬´Ëʱ¿ÉÄÜ»áÐèÒª¸üУ»
·¢ÉúAgentÖØÆô¡¢ÍøÂçÖжϡ¢ZooKeeper»á»°¹ýÆÚµÈÒì³£Çé¿öÖ®ºó£¬ÐèÖØÐÂÀÊý¾Ý£¬´Ëʱ¿ÉÄÜÐèÒª¸üС£
¶ÁÑéÖ¤
ÎÞËøµÄ¶Áд·½Ê½£¬»á´æÔÚ¶Áµ½Î´Ð´ÈëÍêÈ«Êý¾ÝµÄΣÏÕ£¬µ«¿¼Âǵ½ÔÚ¾ø¶ÔµÄ¶Á¶àдÉÙ»·¾³ÖÐÕâÖÖÇé¿ö·¢ÉúµÄ¸ÅÂʽϵͣ¬ËùÒÔÎÒÃÇÔÊÐíÆä·¢Éú£¬Í¨¹ý¶Á²Ù×÷ʱµÄÑéÖ¤À´·¢ÏÖ¡£¹²ÏíÄÚ´æÊý¾ÝÔÚÐòÁл¯Ê±»á´øÆämd5Öµ£¬ÒµÎñ½ø³Ì´Ó¹²ÏíÄÚ´æÖжÁȡʱ£¬ÀûÓÃÔ¤´æµÄmd5ÖµÑéÖ¤ÊÇ·ñÕýÈ·¶ÁÈ¡¡£
Òì³£´¦Àí
QConfÖвÉÈ¡ÁËһЩ´¦ÀíÀ´Ó¦¶Ô²»¿É±ÜÃâµÄÒì³£Çé¿ö£º
²ÉÓø¸×Ó½ø³ÌKeepaliveµÄ·½Ê½£¬Ó¦¶ÔAgent½ø³ÌÒì³£Í˳öµÄÇé¿ö£»
ά»¤Ò»·ÝÂäÅÌÊý¾Ý£¬Ó¦¶Ô¶ÏÍøÇé¿öϹ²ÏíÄÚ´æÓÖ±»Çå¿ÕµÄ×´¿ö£»
ÍøÂçÖжϻָ´ºó£¬¶Ô¹²ÏíÄÚ´æÖÐËùÓÐÊý¾Ý½øÐмì²é£¬²¢ÖØÐÂ×¢²áWatcher£»
¶¨Ê±É¨Ãè¹²ÏíÄڴ棻
Êý¾ÝÐòÁл¯
QConf ¿Í»§¶ËÖÐÓжദÐèÒª½«Êý¾ÝÐòÁл¯Í¨ÐÅ»ò´æ´¢£¬°üÀ¨¹²ÏíÄڴ棬ÏûÏ¢¶ÓÁУ¬ÂäÅÌÊý¾ÝÖеÄÄÚÈÝ¡£ ÎÒÃDzÉÈ¡ÁËÈçÏÂÐÒ飺

AgentÈÎÎñ
ͨ¹ýÉÏÃæµÄÃèÊö£¬´ó¼ÒÓ¦¸Ã´óÖÂÖªµÀÁËAgentËù×öµÄһЩÊÂÇ飬ÏÂÃæ´ÓAgentÄÚÏ̷ֹ߳¤µÄ½Ç¶ÈÕûÀíһϣ¬ÈçÏÂͼ£º

SendỊ̈߳ºZooKeeperỊ̈߳¬´¦ÀíÍøÂçÊý¾Ý°ü£¬½øÐÐÐÒé°üµÄ½âÎöÓë·â×°£¬²¢½«ZookeeperµÄʼþ¼ÓÈëWaitingEvent¶ÓÁеȴý´¦Àí¡£
Event Ị̈߳ºZooKeeperỊ̈߳¬ÒÀ´Î»ñÈ¡WaitingEvent¶ÓÁÐÖеÄʼþ£¬²¢½øÐÐÏàÓ¦´¦Àí£¬ÕâÀïÎÒÃǹØ×¢½Úµãɾ³ý¡¢½ÚµãÖµÐ޸ġ¢×Ó½Úµã±ä»¯¡¢»á»°¹ýÆÚµÈʼþ¡£¶ÔÌØ¶¨µÄʼþ»á½øÐÐÏàÓ¦µÄ²Ù×÷£¬ÒÔ½ÚµãÖµÐÞ¸ÄΪÀý£¬Agent»á°´ÉϱßÌáµ½µÄ·½Ê½ÐòÁл¯¸Ã½ÚµãKey£¬²¢½«Æä¼ÓÈëµ½WaitingWriting¶ÓÁУ¬µÈ´ýMainÏ̴߳¦Àí¡£
MsqỊ̈߳ºÖ®Ç°½²Êý¾ÝÁ÷¶¯³¡¾°µÄʱºòÓÐÌáµ½£¬Óû§½ø³Ì´Ó¹²ÏíÄÚ´æÖÐÕÒ²»µ½¶ÔÓ¦ÅäÖú󣬻áÏòÏûÏ¢¶ÓÁÐÖмÓÈë¸ÃÅäÖã¬MsqÏ̱߳ãÊǸºÔð´ÓÏûÏ¢¶ÓÁÐÖлñȡҵÎñ½ø³ÌµÄÈ¡ÅäÖÃÐèÇ󣬲¢Í¬Ñùͨ¹ýWaitingWriting¶ÓÁз¢Ë͸øMain½ø³Ì¡£
ScanỊ̈߳ºÉ¨Ãè¹²ÏíÄÚ´æÖеÄËùÓÐÅäÖ㬷¢ÏÖÓëZookeeper²»Ò»ÖµÄÇé¿öʱ£¬½«keyÖµ¼ÓÈëWaitingWriting¶ÓÁС£ScanÏ̻߳áÔÚZooKeeperÖØÁ¬»òÂÖѯÆÚµ½´ïʱ½øÐÐÉÏÊö²Ù×÷¡£
MainỊ̈߳º¹²ÏíÄÚ´æµÄΨһдÈëỊ̈߳¬´ÓZookeeper»ñµÃÊý¾ÝдÈë¹²ÏíÄڴ棬ά»¤¹²ÏíÄÚ´æÖеÄÄÚÈÝ¡£
TriggerỊ̈߳º¸ÃÏ̸߳ºÔðһЩÖܱßÂß¼µÄµ÷Óá£
¹ØÓÚÖܱ߲Ù×÷µÄ²¹³ä˵Ã÷£º
Dump²Ù×÷£º½«¹²ÏíÄÚ´æµÄÄÚÈÝͬ²½Ò»·Ýµ½±¾µØ£¬QConf²ÉÓõÄgdbm¡£
Feedback²Ù×÷£ºQConfÖ§³Ö¸üз´À¡µÄ¹¦ÄÜ£¬¿ÉÏòÓû§Ö¸¶¨Web·þÎñÒÔÒ»¶¨µÄ¸ñʽ·¢ËÍ·´À¡¡£
Script²Ù×÷£ºÔÚijЩÇé¿öÏ£¬ÒµÎñÏ£Íûµ±ÅäÖñ仯ʱ£¬×öһЩ×Ô¶¨ÒåµÄ²Ù×÷£¬QConfÖ§³ÖÅäÖñ仯ʱµ÷ÓÃÓû§½Å±¾£¬Agent°´Ò»Ö̶ֹ¨µÄÔ¼¶¨ÔÚÅäÖ÷¢Éú±ä»¯Ê±µ÷ÓöÔÓ¦µÄ½Å±¾¡£
QConf¹ÜÀí¶Ë
¹ÜÀí¶ËÊÇÒµÎñÐÞ¸ÄÅäÖõÄÒ³ÃæÈë¿Ú£¬ÀûÓÃÊý¾Ý¿âÌṩһЩÈçÅúÁ¿µ¼È룬ȨÏÞ¹ÜÀí£¬°æ±¾¿ØÖƵÈÉϲ㹦ÄÜ¡£
ÓÉÓÚ¹«Ë¾ÄÚµÄһЩҵÎññîºÏºÍÐèÇó¶¨ÖÆ£¬µ±Ç°¿ªÔ´µÄQConf¹ÜÀí¶ËÕâ±ßÌṩÁËÒ»¸ö¼òÒ×µÄÒ³Ãæ£¬ºÍÒ»Ì×ϲãµÄc++½Ó¿Ú£¬Ö®ºó¼Æ»®½øÒ»²½ÍêÉÆÒÔ¼°¸úÉçÇøºÏ×÷Ìṩ¸üÓѺõĽçÃæ¡£ÈçÏÂͼ£º

QConfµÄ½á¹¹¼°ÊµÏÖ´ó¸Å¾Í½éÉܵ½Õ⣬½ÓÏÂÀ´...
One More Thing
QConf ³ýÁË´æ´¢ÅäÖõĻù±¾¹¦ÄÜÍ⣬»¹ÔÚ¹«Ë¾ÄÚÌṩÁËÒ»Ì×¼òµ¥µÄ·þÎñ·¢ÏÖ¹¦ÄÜ£¬¸Ã¹¦ÄÜÔÊÐíÒµÎñÔÚQConfÉÏÅäÖÃÒ»×é·þÎñ£¬QConf»á¼à¿ØÆä·þÎñµÄ´æ»î¡£µ±ÒµÎñ½ø³Ìµ÷ÓûñÈ¡·þÎñµÄ½Ó¿Úʱ£¬»á¸ù¾ÝÓû§ÐèÇ󣬷µ»ØÈ«²¿¿ÉÓ÷þÎñ£¬»òijһ¿ÉÓ÷þÎñ¡£
²»Í¬ÓÚÆÕͨÅäÖãº
½á¹¹É϶àÒ»¸öMonitorµÄ½ÇÉ«£¬À´¼à¿ØËùÓзþÎñµÄ´æ»î¡£
Ìṩ¶ÔÓ¦µÄ¿Í»§¶Ë½Ó¿Ú£¬get_host»ñȡijһ¿ÉÓ÷þÎñ£¬get_allhost»ñÈ¡ËùÓпÉÓ÷þÎñ¡£
¹ÜÀí¶ËÒ³Ãæ¶ÔÓ¦µÄչʾ·½Ê½¼°²Ù×÷£¬ÓÈÆäÊǶÔÖ¸¶¨·þÎñµÄÌí¼Óɾ³ý£¬ÉÏÏßÏÂÏß¡£
ÈçÏÂͼ£º

ÐèÒªÃ÷È·µÄÊÇ£¬Ä¿Ç°MonitorÊÂʵÉϽö½öÊÇͨ¹ý²é¿´·þÎñ¶Ë¿ÚµÄ´æ»îÀ´Åжϵģ¬ÔÚʵ¼ÊÉú²ú»·¾³ÖУ¬¸Ã¹¦ÄܶàÓëʵ¼Ê·þÎñÌṩÕßµÄ¼à¿Ø½áºÏ£¬ÓÉ·þÎñÌṩÕßµÄ¼à¿Øµ÷ÓÃQConfµÄÏàÓ¦½Ó¿ÚʵÏÖ·þÎñµÄÉÏÏÂÏß¡£
ʹÓ÷½Ê½¼°Ê¹Óó¡¾°
Ŀǰ360ÄÚ²¿ÒѾ¹ã·ºµÄʹÓÃQConf£¬¸²¸ÇÔÆÅÌ¡¢´óÁ÷³Ì¡¢ÏµÍ³²¿¡¢DBA¡¢Í¼ËÑ¡¢Ó°ÊÓ¡¢µØÍ¼¡¢Ó²¼þ¡¢ÊÖ»úÎÀÊ¿¡¢ºÃËѵȴ󲿷ÖÒµÎñ¡£²¿Êð¹úÄÚÍâ¹²51¼¸¸ö»ú·¿£¬¿Í»§¶Ë»úÆ÷³¬Á½Íǫ̀£¬Îȶ¨ÔËÐÐÁ½Äê¡£
ʹÓõķ½Ê½Ö÷Òª°üÀ¨£º
¼òµ¥ÅäÖÃ
¹«Ë¾ÄÚʹÓÃ×î¹ã·ºµÄÓ÷¨£¬QConf·Ç³£ÊʺϾ³£ÐèÒª±ä¶¯µÄÅäÖÃʹÓã¬È翪¹ØÐÅÏ¢¡¢°æ±¾ÐÅÏ¢¡¢ÍƼöÐÅÏ¢¡¢³¬Ê±Ê±¼äµÈ¡£
·þÎñ·½Ê½
ÕâÖÖ·½Ê½¶à±»·þÎñÌṩÕß²ÉÓã¬ÈçDBA£¬ÏµÍ³²¿µÈ£¬²ÉÓÃÉÏÊöµÄ·þÎñÅäÖõķ½Ê½£¬Í¨¹ýQConfÏò¹«Ë¾µÄËùÓÐÒµÎñÌṩ´æ´¢£¬¼ÆËã¼°WEB·þÎñ¡£
ÅäÖùÜÀíÀà²úÆ·±È½Ï
ͨ¹ýÉÏÃæµÄ½éÉÜ£¬´ó¼ÒÓ¦¸Ã¸Ð¾õµ½QConfÓëpuppet£¬confdÕâÀà²úÆ·»¹ÊÇÓкܴó²»Í¬µÄ¡£ ¹úÄÚÓëÖ®ÀàËÆµÄ²úÆ·°üÀ¨ÌÔ±¦µÄdiamond£¬Î¢²©µÄvintage£¬°Ù¶ÈµÄdisconf¡£
ÆäÖÐdiamondºÍvintage±È½ÏÀàËÆ£¬ËûÃǽ«ÅäÖÃÊý¾Ý´æÔÚÏñmysql»òredisÕâÑùµÄ´æ´¢ÖУ¬²¢ÐèҪͨ¹ý¿Í»§¶ËµÄÂÖѵÀ´¸ÐÖªÅäÖñ仯£¬ÕâÑù»áÓкܶàµÄÎÞЧͨѶ£¬Òò´Ë²ÉÈ¡±È½Ïmd5ÖµµÄ·½Ê½À´±ÜÃâÕû¸öÅäÖÃÖµµÄ´«Ê䣻
disconfÓëQConfÀàËÆ£¬Í¬Ñù²ÉÓÃZooKeeperµÄ֪ͨ»úÖÆ£¬²»Í¬µÄÊÇ£¬Æä½«ÕæÊµµÄÅäÖÃÊý¾Ý´æÔÚmysqlÖУ¬²¢ÇÒÕû¸öÓëjavañîºÏºÜÖØ£¬ÇÒÅäÖø´ÔÓ¡£
QConfÒòΪÆä¶ÔÅäÖÃÐÅÏ¢µÄ¶¨Î»£¬Ê¹µÃÕû¸ö½á¹¹·Ç³£¼òµ¥£¬ÈÝÒײ¿ÊðºÍʹÓᣠ|