เชชเชพเช‚เชš เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซ€เช“ เช…เชจเซ‡ เชคเซเชฐเชฃ เชตเชฟเชคเชฐเชฟเชค เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเซเชธ

เช…เชฅเชตเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ ZooKeeper, etcd เช…เชจเซ‡ Consul KV เชฎเชพเชŸเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ C++ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฒเช–เซ€

เชตเชฟเชคเชฐเชฟเชค เชชเซเชฐเชฃเชพเชฒเซ€เช“เชจเซ€ เชฆเซเชจเชฟเชฏเชพเชฎเชพเช‚, เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เชฒเชพเช•เซเชทเชฃเชฟเช• เช•เชพเชฐเซเชฏเซ‹ เช›เซ‡: เช•เซเชฒเชธเซเชŸเชฐเชจเซ€ เชฐเชšเชจเชพ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเซ€, เชจเซ‹เชกเซเชธเชจเซ€ เช—เซ‹เช เชตเชฃเซ€เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเซเช‚, เช–เชพเชฎเซ€เชฏเซเช•เซเชค เช—เชพเช‚เช เซ‹ เชถเซ‹เชงเชตเซ€, เชจเซ‡เชคเชพ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ. เช…เชจเซ‡ เช…เชจเซเชฏ. เช† เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡, เช–เชพเชธ เชตเชฟเชคเชฐเชฃ เชชเซเชฐเชฃเชพเชฒเซ€เช“ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ - เชธเช‚เช•เชฒเชจ เชธเซ‡เชตเชพเช“. เชนเชตเซ‡ เช…เชฎเชจเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชคเซเชฐเชฃเชฎเชพเช‚ เชฐเชธ เชนเชถเซ‡: ZooKeeper, etcd เช…เชจเซ‡ Consul. เช•เซ‹เชจเซเชธเซเชฏเซเชฒเชจเซ€ เชคเชฎเชพเชฎ เชธเชฎเซƒเชฆเซเชง เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชฎเชพเช‚เชฅเซ€, เช…เชฎเซ‡ เช•เซ‹เชจเซเชธเซเชฏเซเชฒ KV เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ€เชถเซเช‚.

เชชเชพเช‚เชš เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซ€เช“ เช…เชจเซ‡ เชคเซเชฐเชฃ เชตเชฟเชคเชฐเชฟเชค เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเซเชธ

เชธเชพเชฐเชฎเชพเช‚, เช† เชฌเชงเซ€ เชธเชฟเชธเซเชŸเชฎเซ‹ เชซเซ‹เชฒเซเชŸ-เชธเชนเชฟเชทเซเชฃเซ, เชฒเชพเช‡เชจเชฐเชพเช‡เชเซ‡เชฌเชฒ เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเซเชธ เช›เซ‡. เชคเซ‡เชฎ เช›เชคเชพเช‚ เชคเซ‡เชฎเชจเชพ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเซ‡เชฒเซ‹เชฎเชพเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชคเชซเชพเชตเชคเซ‹ เช›เซ‡, เชœเซ‡เชจเซ€ เช†เชชเชฃเซ‡ เชชเช›เซ€ เชšเชฐเซเชšเชพ เช•เชฐเซ€เชถเซเช‚, เชคเซ‡เช“ เชธเชฎเชพเชจ เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡. เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡, เชฆเชฐเซ‡เช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‡ เชœเซ‡ เชธเช‚เช•เชฒเชจ เชธเซ‡เชตเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเซ€ เช›เซ‡, เชœเซ‡ เชเช• เชกเซ‡เชŸเชพ เชธเซ‡เชจเซเชŸเชฐเชฎเชพเช‚ เช˜เชฃเซ€ เชธเชฟเชธเซเชŸเชฎเซ‹เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เชตเชฟเชตเชฟเชง เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡.

เช† เชธเชฎเชธเซเชฏเชพเชจเซ‹ เช‰เช•เซ‡เชฒ เชฒเชพเชตเชตเชพเชจเซ‹ เชตเชฟเชšเชพเชฐ เชเช• เช“เชธเซเชŸเซเชฐเซ‡เชฒเชฟเชฏเชจ เช•เชจเซเชธเชฒเซเชŸเชฟเช‚เช— เชเชœเชจเซเชธเซ€เชฎเชพเช‚ เช‰เชฆเซเชฆเชญเชตเซเชฏเซ‹ เชนเชคเซ‹, เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซ€เช“เชจเซ€ เชเช• เชจเชพเชจเซ€ เชŸเซ€เชฎ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชตเซ€, เชœเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชนเซเช‚ เชตเชพเชค เช•เชฐเชตเชพ เชœเชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚.

เช…เชฎเซ‡ เชเช• เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช›เซ€เช เชœเซ‡ ZooKeeper, etcd เช…เชจเซ‡ Consul KV เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชชเซเชธเซเชคเช•เชพเชฒเชฏ C++ เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ‡ เช…เชจเซเชฏ เชญเชพเชทเชพเช“เชฎเชพเช‚ เชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เช›เซ‡.

เชกเซ‡เชŸเชพ เชฎเซ‹เชกเชฒเซเชธ

เชคเซเชฐเชฃ เช…เชฒเช—-เช…เชฒเช— เชธเชฟเชธเซเชŸเชฎเซ‹ เชฎเชพเชŸเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชตเชฟเช•เชธเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“เชฎเชพเช‚ เชถเซเช‚ เชธเชพเชฎเซเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฒเช— เช›เซ‡. เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ‡ เช†เช•เซƒเชคเชฟ เช•เชฐเซ€เช.

เชเซ‚เช•เซ€เชชเชฐ

เชชเชพเช‚เชš เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซ€เช“ เช…เชจเซ‡ เชคเซเชฐเชฃ เชตเชฟเชคเชฐเชฟเชค เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเซเชธ

เชšเชพเชตเซ€เช“ เชตเซƒเช•เซเชทเชฎเชพเช‚ เช—เซ‹เช เชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชจเซ‹เชกเซเชธ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเชฆเชจเซเชธเชพเชฐ, เชจเซ‹เชก เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชฌเชพเชณเช•เซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹. znode เชฌเชจเชพเชตเชตเชพ (เชฌเชจเชพเชตเซ‹) เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏ (setData) เชฌเชฆเชฒเชตเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เช“ เช…เชฒเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡: เชฎเชพเชคเซเชฐ เชนเชพเชฒเชจเซ€ เช•เซ€ เชตเชพเช‚เชšเซ€ เช…เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช˜เชกเชฟเชฏเชพเชณเซ‹ เชจเซ‹เชกเชจเซเช‚ เช…เชธเซเชคเชฟเชคเซเชต เชšเช•เชพเชธเชตเชพ, เชฎเซ‚เชฒเซเชฏ เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เชฌเชพเชณเช•เซ‹ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชตเซ‰เชš เช เชเช•-เชตเช–เชคเชจเซเช‚ เชŸเซเชฐเชฟเช—เชฐ เช›เซ‡ เชœเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเช‚เชฌเช‚เชงเชฟเชค เชกเซ‡เชŸเชพเชจเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชฌเชฆเชฒเชพเชฏ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชซเชพเชฏเชฐ เชฅเชพเชฏ เช›เซ‡. เช•เซเชทเชฃเชฟเช• เช—เชพเช‚เช เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡เช“ เช•เซเชฒเชพเชฏเช‚เชŸเชจเชพ เชธเชคเซเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡ เชœเซ‡เชฃเซ‡ เชคเซ‡เชฎเชจเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชธเชคเซเชฐ เชฌเช‚เชง เช•เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชคเซ‡เชจเชพ เช…เชธเซเชคเชฟเชคเซเชต เชตเชฟเชถเซ‡ ZooKeeper เชจเซ‡ เชธเซ‚เชšเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช† เช—เชพเช‚เช เซ‹ เช†เชชเชฎเซ‡เชณเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชธเชฐเชณ เชตเซเชฏเชตเชนเชพเชฐเซ‹ เชธเชฎเชฐเซเชฅเชฟเชค เช›เซ‡ - เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เชธเชฎเซ‚เชน เชœเซ‡ เช•เชพเช‚ เชคเซ‹ เชคเชฎเชพเชฎ เชธเชซเชณ เชฅเชพเชฏ เช›เซ‡ เช…เชฅเชตเชพ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช›เซ‡ เชœเซ‹ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชเช• เชฎเชพเชŸเซ‡ เช† เชถเช•เซเชฏ เชจ เชนเซ‹เชฏ.

เชตเช—เซ‡เชฐเซ‡

เชชเชพเช‚เชš เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซ€เช“ เช…เชจเซ‡ เชคเซเชฐเชฃ เชตเชฟเชคเชฐเชฟเชค เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเซเชธ

เช† เชธเชฟเชธเซเชŸเชฎเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ ZooKeeper เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเซ‡เชฐเชฟเชค เชนเชคเชพ, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชฌเชงเซเช‚ เช…เชฒเช— เชฐเซ€เชคเซ‡ เช•เชฐเซเชฏเซเช‚. เชคเซเชฏเชพเช‚ เชšเชพเชตเซ€เช“เชจเซ‹ เช•เซ‹เชˆ เชตเช‚เชถเชตเซ‡เชฒเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เช“ เชเช• เชฒเซ‡เช•เซเชธเชฟเช•เซ‹เช—เซเชฐเชพเชซเชฟเช•เชฒเซ€ เช“เชฐเซเชกเชฐ เช•เชฐเซ‡เชฒ เชธเซ‡เชŸ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชคเชฎเซ‡ เชšเซ‹เช•เซเช•เชธ เชถเซเชฐเซ‡เชฃเซ€เชจเซ€ เชฌเชงเซ€ เช•เซ€ เชฎเซ‡เชณเชตเซ€ เช…เชฅเชตเชพ เช•เชพเชขเซ€ เชถเช•เซ‹ เช›เซ‹. เช† เชฎเชพเชณเช–เซเช‚ เชตเชฟเชšเชฟเชคเซเชฐ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เช–เซ‚เชฌ เชœ เช…เชญเชฟเชตเซเชฏเช•เซเชค เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เชตเช‚เชถเชตเซ‡เชฒเซ‹ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃ เชธเชฐเชณเชคเชพเชฅเซ€ เช…เชจเซเช•เชฐเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

etcd เชชเชพเชธเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชธเชฐเช–เชพเชฎเชฃเซ€-เช…เชจเซ‡-เชธเซ‡เชŸ เช•เชพเชฎเช—เซ€เชฐเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชพเช‚ เช•เช‚เชˆเช• เชธเชพเชฐเซเช‚ เช›เซ‡: เชตเซเชฏเชตเชนเชพเชฐเซ‹. เช…เชฒเชฌเชคเซเชค, เชคเซ‡ เชคเซเชฐเชฃเซ‡เชฏ เชชเซเชฐเชฃเชพเชฒเซ€เช“เชฎเชพเช‚ เช…เชธเซเชคเชฟเชคเซเชต เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ etcd เชตเซเชฏเชตเชนเชพเชฐเซ‹ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชธเชพเชฐเชพ เช›เซ‡. เชคเซ‡เช“ เชคเซเชฐเชฃ เชฌเซเชฒเซ‹เช•เซเชธ เชงเชฐเชพเชตเซ‡ เช›เซ‡: เชคเชชเชพเชธ, เชธเชซเชณเชคเชพ, เชจเชฟเชทเซเชซเชณเชคเชพ. เชชเซเชฐเชฅเชฎ เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชถเชฐเชคเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡, เชฌเซ€เชœเชพ เช…เชจเซ‡ เชคเซเชฐเซ€เชœเชพ - เช“เชชเชฐเซ‡เชถเชจเซเชธ. เชตเซเชฏเชตเชนเชพเชฐ เชชเชฐเชฎเชพเชฃเซ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซ‹ เชฌเชงเซ€ เชถเชฐเชคเซ‹ เชธเชพเชšเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชธเชซเชณเชคเชพ เชฌเซเชฒเซ‹เช• เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซเชฏเชฅเชพ เชจเชฟเชทเซเชซเชณเชคเชพ เชฌเซเชฒเซ‹เช• เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. API 3.3 เชฎเชพเช‚, เชธเชซเชณเชคเชพ เช…เชจเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชจเซ‡เชธเซเชŸเซ‡เชก เชตเซเชฏเชตเชนเชพเชฐเซ‹ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เชฒเช—เชญเช— เชฎเชจเชธเซเชตเซ€ เชฎเชพเชณเช–เชพเชจเชพ เชธเซเชคเชฐเชจเซ€ เชถเชฐเชคเซ€ เชฐเชšเชจเชพเช“ เชชเชฐเชฎเชพเชฃเซ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เชคเชฎเซ‡ เชšเซ‡เช•เซเชธ เช…เชจเซ‡ เช‘เชชเชฐเซ‡เชถเชจเซเชธ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชพเชฃเซ€ เชถเช•เซ‹ เช›เซ‹ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ.

เช˜เชกเชฟเชฏเชพเชณเซ‹ เช…เชนเซ€เช‚ เชชเชฃ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡, เชœเซ‹ เช•เซ‡ เชคเซ‡ เชฅเซ‹เชกเซ€ เชตเชงเซ เชœเชŸเชฟเชฒ เช›เซ‡ เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เช›เซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เช•เซ€ เชฐเซ‡เชจเซเชœ เชชเชฐ เช˜เชกเชฟเชฏเชพเชณ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเซ‡ เช˜เชกเชฟเชฏเชพเชณ เชฐเชฆ เชจ เช•เชฐเซ‹ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเชจเซ‡ เช† เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เชคเชฎเชพเชฎ เช…เชชเชกเซ‡เชŸเซเชธ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡, เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชชเชนเซ‡เชฒเซ€ เชœ เชจเชนเซ€เช‚. เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚, ZooKeeper เช•เซเชฒเชพเชฏเชจเซเชŸ เชธเชคเซเชฐเซ‹เชจเชพ เชเชจเชพเชฒเซ‹เช— เชฒเซ€เช เช›เซ‡.

เช•เซ‹เชจเซเชธเซเชฏเซเชฒ เช•เซ‡.เชตเซ€.

เช…เชนเซ€เช‚ เช•เซ‹เชˆ เช•เชกเช• เช…เชงเชฟเช•เซเชฐเชฎเชฟเช• เชฎเชพเชณเช–เซเช‚ เชชเชฃ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช•เชจเซเชธเซเชฏเซเชฒ เชคเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡ เชคเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชต เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡: เชคเชฎเซ‡ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช‰เชชเชธเชฐเซเช— เชธเชพเชฅเซ‡ เชฌเชงเซ€ เช•เซ€ เชฎเซ‡เชณเชตเซ€ เช…เชจเซ‡ เช•เชพเชขเซ€ เชถเช•เซ‹ เช›เซ‹, เชเชŸเชฒเซ‡ เช•เซ‡, เช•เซ€เชจเชพ "เชธเชฌเชŸเซเชฐเซ€" เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช†เชตเชพ เชชเซเชฐเชถเซเชจเซ‹เชจเซ‡ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เช•เซ‹เชจเซเชธเซเชฏเซเชฒ เชซเช•เซเชค เชคเซ‡ เชœ เช•เซ€ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช‰เชชเชธเชฐเซเช— เชชเช›เซ€ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช…เช•เซเชทเชฐ เชถเชพเชฎเซ‡เชฒ เชจเชฅเซ€, เชœเซ‡ เชคเชพเชคเซเช•เชพเชฒเชฟเช• "เชฌเชพเชณเช•เซ‹" เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ เช† เชšเซ‹เช•เซเช•เชธ เชตเช‚เชถเชตเซ‡เชฒเซ‹ เชฌเช‚เชงเชพเชฐเชฃเชจเซ‹ เชฆเซ‡เช–เชพเชต เช›เซ‡: เชœเซ‹ เชคเซ‡เชจเชพ เชฎเชพเชคเชพเชชเชฟเชคเชพ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจ เชนเซ‹เชฏ เช…เชฅเชตเชพ เชฌเชพเชณเช•เซ‹ เชงเชฐเชพเชตเชคเซ€ เช•เซ€เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เชคเซ‹ เช•เซ€ เชฌเชจเชพเชตเชตเซ€ เชคเชฆเซเชฆเชจ เชถเช•เซเชฏ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชฌเชพเชณเช•เซ‹ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชถเซ‡.

เชชเชพเช‚เชš เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซ€เช“ เช…เชจเซ‡ เชคเซเชฐเชฃ เชตเชฟเชคเชฐเชฟเชค เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเซเชธ
เช˜เชกเชฟเชฏเชพเชณเซ‹เชจเซ‡ เชฌเชฆเชฒเซ‡, เช•เซ‹เชจเซเชธเซเชฒเซ‡ HTTP เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เช›เซ‡. เชธเชพเชฐเชฎเชพเช‚, เช† เชกเซ‡เชŸเชพ เชฐเซ€เชกเชฟเช‚เช— เชชเชฆเซเชงเชคเชฟเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‰เชฒเซเชธ เช›เซ‡, เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡, เช…เชจเซเชฏ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡, เชกเซ‡เชŸเชพเชจเซเช‚ เช›เซ‡เชฒเซเชฒเซเช‚ เชœเชพเชฃเซ€เชคเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชธเซ‚เชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชœเซ‹ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเช‚เชฌเช‚เชงเชฟเชค เชกเซ‡เชŸเชพเชจเซเช‚ เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชธเซเช•เชฐเชฃ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช•เชฐเชคเชพ เชตเชงเชพเชฐเซ‡ เชนเซ‹เชฏ, เชคเซ‹ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชคเชฐเชค เชœ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซเชฏเชฅเชพ - เชœเซเชฏเชพเชฐเซ‡ เชฎเซ‚เชฒเซเชฏ เชฌเชฆเชฒเชพเชฏ เช›เซ‡. เชเชตเชพ เชธเชคเซเชฐเซ‹ เชชเชฃ เช›เซ‡ เชœเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เช•เซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเซ‡ เชจเซ‹เช‚เชงเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ etcd เช…เชจเซ‡ ZooKeeperเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชœเซเชฏเชพเช‚ เชธเชคเซเชฐเซ‹ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เช•เซ€เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเช‚ เชเช• เชฎเซ‹เชก เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชธเชคเซเชฐ เชซเช•เซเชค เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡เชฅเซ€ เช…เชจเชฒเชฟเช‚เช• เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เชตเซเชฏเชตเชนเชพเชฐเซ‹, เชถเชพเช–เชพเช“ เชตเชฟเชจเชพ, เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฎ เชชเซเชฐเช•เชพเชฐเชจเชพ เชšเซ‡เช• เชธเชพเชฅเซ‡.

เชคเซ‡ เชฌเชงเชพ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เซ€

ZooKeeper เชชเชพเชธเซ‡ เชธเซŒเชฅเซ€ เชธเช–เชค เชกเซ‡เชŸเชพ เชฎเซ‹เชกเชฒ เช›เซ‡. เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชเช•เซเชธเชชเซเชฐเซ‡เชธเชฟเชต เชฐเซ‡เชจเซเชœ เช•เซเชตเซ‡เชฐเซ€เช ZooKeeper เช…เชฅเชตเชพ Consul เชฎเชพเช‚ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช…เชจเซเช•เชฐเชฃ เช•เชฐเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€. เชคเชฎเชพเชฎ เชธเซ‡เชตเชพเช“เชฎเชพเช‚เชฅเซ€ เชถเซเชฐเซ‡เชทเซเช เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชจเซ‡, เช…เชฎเซ‡ เชจเซ€เชšเซ‡ เช†เชชเซ‡เชฒเชพ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช…เชชเชตเชพเชฆเซ‹ เชธเชพเชฅเซ‡ เชเซ‚เช•เซ€เชชเชฐ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ€ เชฒเช—เชญเช— เชธเชฎเช•เช•เซเชท เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชธเชพเชฅเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชฏเชพ:

  • เช•เซเชฐเชฎ, เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ TTL เชจเซ‹เชกเซเชธ เช†เชงเชพเชฐเชญเซ‚เชค เชจเชฅเซ€
  • ACL เชธเชฎเชฐเซเชฅเชฟเชค เชจเชฅเซ€
  • เชœเซ‹ เชคเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจ เชนเซ‹เชฏ เชคเซ‹ เชธเซ‡เชŸ เชชเชฆเซเชงเชคเชฟ เช•เซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡ (ZK เชธเซ‡เชŸเชกเซ‡เชŸเชพ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชญเซ‚เชฒ เช†เชชเซ‡ เช›เซ‡)
  • เชธเซ‡เชŸ เช…เชจเซ‡ เช•เซ‡เชธ เชชเชฆเซเชงเชคเชฟเช“ เช…เชฒเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (ZK เชฎเชพเช‚ เชคเซ‡ เช†เชตเชถเซเชฏเช•เชชเชฃเซ‡ เชธเชฎเชพเชจ เชตเชธเซเชคเซ เช›เซ‡)
  • เชญเซ‚เช‚เชธเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟ เชจเซ‹เชกเชจเซ‡ เชคเซ‡เชจเชพ เชธเชฌเชŸเซเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เช›เซ‡ (ZK เชกเชฟเชฒเซ€เชŸเชฎเชพเช‚ เชœเซ‹ เชจเซ‹เชกเชฎเชพเช‚ เชฌเชพเชณเช•เซ‹ เชนเซ‹เชฏ เชคเซ‹ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡)
  • เชฆเชฐเซ‡เช• เช•เซ€ เชฎเชพเชŸเซ‡ เชซเช•เซเชค เชเช• เชœ เชธเช‚เชธเซเช•เชฐเชฃ เช›เซ‡ - เชฎเซ‚เชฒเซเชฏ เชธเช‚เชธเซเช•เชฐเชฃ (ZK เชฎเชพเช‚ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชคเซเชฐเชฃ เช›เซ‡)

เช•เซเชฐเชฎเชฟเช• เชจเซ‹เชกเซเชธเชจเซ‹ เช…เชธเซเชตเซ€เช•เชพเชฐ เช เชนเช•เซ€เช•เชคเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡ เช•เซ‡ etcd เช…เชจเซ‡ เช•เซ‹เชจเซเชธเซเชฏเซเชฒ เชชเชพเชธเซ‡ เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชธเชชเซ‹เชฐเซเชŸ เชจเชฅเซ€, เช…เชจเซ‡ เชคเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ€ เชŸเซ‹เชš เชชเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชธเชฐเชณเชคเชพเชฅเซ€ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชคเซ€ เชตเช–เชคเซ‡ ZooKeeper เชœเซ‡เชตเซ€ เชœ เชตเชฐเซเชคเชฃเซ‚เช•เชจเซ‹ เช…เชฎเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ etcd เช…เชจเซ‡ Consul เชฎเชพเช‚ เชฆเชฐเซ‡เช• เช•เซ€ เชฎเชพเชŸเซ‡ เช…เชฒเช— เชšเชพเชˆเชฒเซเชก เช•เชพเช‰เชจเซเชŸเชฐ เชœเชพเชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เช…เชฎเซ‡ เชฎเซ‡เชŸเชพ เชฎเชพเชนเชฟเชคเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชŸเชพเชณเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชนเซ‹เชตเชพเชฅเซ€, เชธเชฎเช—เซเชฐ เชธเชฌเชŸเซเชฐเซ€เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ‹ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹.

เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชธเซ‚เช•เซเชทเซเชฎเชคเชพ

เชšเชพเชฒเซ‹ เชตเชฟเชตเชฟเชง เชธเชฟเชธเซเชŸเชฎเซ‹เชฎเชพเช‚ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชชเชพเชธเชพเช“ เชชเชฐ เชจเชœเซ€เช•เชฅเซ€ เชจเชœเชฐ เช•เชฐเซ€เช.

เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚ เชตเช‚เชถเชตเซ‡เชฒเซ‹

etcd เชฎเชพเช‚ เชตเช‚เชถเชตเซ‡เชฒเซ‹ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃ เชœเชพเชณเชตเชตเซ‹ เช เชธเซŒเชฅเซ€ เชฐเชธเชชเซเชฐเชฆ เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚เชจเซเช‚ เชเช• เชฌเชจเซเชฏเซเช‚. เชฐเซ‡เช‚เชœ เช•เซเชตเซ‡เชฐเซ€เช เชธเซเชชเชทเซเชŸ เช•เชฐเซ‡เชฒ เช‰เชชเชธเชฐเซเช— เชธเชพเชฅเซ‡ เช•เซ€เชจเซ€ เชธเซ‚เชšเชฟ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชคเชฎเชจเซ‡ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชœเซ‡ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡ "/foo", เชคเชฎเซ‡ เชถเซเชฐเซ‡เชฃเซ€ เชฎเชพเชŸเซ‡ เชชเซ‚เช›เซ‹ เช›เซ‹ ["/foo", "/fop"). เชชเชฐเช‚เชคเซ เช† เช•เซ€เชจเซเช‚ เช†เช–เซเช‚ เชธเชฌเชŸเซเชฐเซ€ เชชเชพเช›เซเช‚ เช†เชชเชถเซ‡, เชœเซ‡ เชœเซ‹ เชธเชฌเชŸเซเชฐเซ€ เชฎเซ‹เชŸเซเช‚ เชนเซ‹เชฏ เชคเซ‹ เชธเซเชตเซ€เช•เชพเชฐเซเชฏ เชจเชนเซ€เช‚ เชนเซ‹เชฏ. เชชเชนเซ‡เชฒเชพ เช…เชฎเซ‡ เชฎเซเช–เซเชฏ เช…เชจเซเชตเชพเชฆ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชฌเชจเชพเชตเซ€, zetcd เชฎเชพเช‚ เช…เชฎเชฒเซ€. เชคเซ‡เชฎเชพเช‚ เช•เซ€เชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชเช• เชฌเชพเชˆเชŸ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เชตเซƒเช•เซเชทเชฎเชพเช‚ เชจเซ‹เชกเชจเซ€ เชŠเช‚เชกเชพเชˆ เชœเซ‡เชŸเชฒเซ€ เชนเซ‹เชฏ เช›เซ‡. เชšเชพเชฒเซ‹ เชนเซเช‚ เชคเชฎเชจเซ‡ เชเช• เช‰เชฆเชพเชนเชฐเชฃ เช†เชชเซเช‚.

"/foo" -> "u01/foo"
"/foo/bar" -> "u02/foo/bar"

เชชเช›เซ€ เช•เซ€เชจเชพ เชคเชฎเชพเชฎ เชคเชพเชคเซเช•เชพเชฒเชฟเช• เชฌเชพเชณเช•เซ‹ เชฎเซ‡เชณเชตเซ‹ "/foo" เชถเซเชฐเซ‡เชฃเซ€เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ€เชจเซ‡ เชถเช•เซเชฏ เช›เซ‡ ["u02/foo/", "u02/foo0"). เชนเชพ, ASCII เชฎเชพเช‚ "0" เชฌเชฐเชพเชฌเชฐ เชชเช›เซ€ เช‰เชญเซ‹ เช›เซ‡ "/".

เชชเชฐเช‚เชคเซ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚? เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชคเชฎเชพเชฎ เชถเซเชฐเซ‡เชฃเซ€เช“ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ ["uXX/foo/", "uXX/foo0") XX เชฎเชพเชŸเซ‡ 01 เชฅเซ€ FF เชธเซเชงเซ€. เช…เชจเซ‡ เชชเช›เซ€ เช…เชฎเซ‡ เช…เช‚เชฆเชฐ เชฆเซ‹เชกเซ€ เช—เชฏเชพ เช“เชชเชฐเซ‡เชถเชจ เชจเช‚เชฌเชฐ เชฎเชฐเซเชฏเชพเชฆเชพ เชเช• เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชเช• เชธเชฐเชณ เช•เซ€ เชฐเซ‚เชชเชพเช‚เชคเชฐ เชชเซเชฐเชฃเชพเชฒเซ€เชจเซ€ เชถเซ‹เชง เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€, เชœเซ‡เชฃเซ‡ เช•เซ€เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ เช…เชจเซ‡ เชฌเชพเชณเช•เซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชฎเซ‡เชณเชตเชตเชพ เชฌเช‚เชจเซ‡เชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซเชฏเซเช‚. เช›เซ‡เชฒเซเชฒเชพ เชŸเซ‹เช•เชจ เชชเชนเซ‡เชฒเชพเช‚ เชเช• เชตเชฟเชถเชฟเชทเซเชŸ เช…เช•เซเชทเชฐ เช‰เชฎเซ‡เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡. เชฆเชพเช–เซเชฒเชพ เชคเชฐเซ€เช•เซ‡:

"/very" -> "/u00very"
"/very/long" -> "/very/u00long"
"/very/long/path" -> "/very/long/u00path"

เชชเช›เซ€ เช•เซ€ เช•เชพเชขเซ€ เชจเชพเช–เชตเซเช‚ "/very" เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เชซเซ‡เชฐเชตเชพเชฏ เช›เซ‡ "/u00very" เช…เชจเซ‡ เชถเซเชฐเซ‡เชฃเซ€ ["/very/", "/very0"), เช…เชจเซ‡ เชคเชฎเชพเชฎ เชฌเชพเชณเช•เซ‹เชจเซ‡ เชฎเซ‡เชณเชตเชตเชพ - เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚เชฅเซ€ เชšเชพเชตเซ€เช“ เชฎเชพเชŸเซ‡เชจเซ€ เชตเชฟเชจเช‚เชคเซ€เชฎเชพเช‚ ["/very/u00", "/very/u01").

ZooKeeper เชฎเชพเช‚ เช•เซ€ เชฆเซ‚เชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชฎเซ‡เช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชคเซ‡เชฎ, ZooKeeper เชฎเชพเช‚ เชคเชฎเซ‡ เชจเซ‹เชกเชจเซ‡ เช•เชพเชขเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เชœเซ‹ เชคเซ‡เชฎเชพเช‚ เชฌเชพเชณเช•เซ‹ เชนเซ‹เชฏ. เช…เชฎเซ‡ เชธเชฌเชŸเซเชฐเซ€ เชธเชพเชฅเซ‡ เช•เซ€เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช. เชฎเชพเชฐเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช? เช…เชฎเซ‡ เช† เช†เชถเชพเชตเชพเชฆ เชธเชพเชฅเซ‡ เช•เชฐเซ€เช เช›เซ€เช. เชชเซเชฐเชฅเชฎ, เช…เชฎเซ‡ เชเช• เช…เชฒเช— เช•เซเชตเซ‡เชฐเซ€ เชธเชพเชฅเซ‡ เชฆเชฐเซ‡เช• เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเชจเชพ เชฌเชพเชณเช•เซ‹ เชฎเซ‡เชณเชตเซ€เชจเซ‡, เช‰เชชเชตเซƒเช•เซเชทเชจเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เชชเชธเชพเชฐ เช•เชฐเซ€เช เช›เซ€เช. เชชเช›เซ€ เช…เชฎเซ‡ เชเช• เชตเซเชฏเชตเชนเชพเชฐ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เชœเซ‡ เชธเชฌเชŸเซเชฐเซ€เชจเชพ เชคเชฎเชพเชฎ เชจเซ‹เชกเซเชธเชจเซ‡ เชฏเซ‹เช—เซเชฏ เช•เซเชฐเชฎเชฎเชพเช‚ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เชธเชฌเชŸเซเชฐเซ€ เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ เชตเชšเซเชšเซ‡ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชตเซเชฏเชตเชนเชพเชฐ เชจเชฟเชทเซเชซเชณ เชœเชถเซ‡. เชตเชงเซเชฎเชพเช‚, เชตเชพเช‚เชšเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเชฌเชŸเซเชฐเซ€ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เช†เช—เชฒเชพ เชจเซ‹เชกเชจเชพ เชฌเชพเชณเช•เซ‹ เชฎเชพเชŸเซ‡เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช† เชจเซ‹เชก เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเซ‹เชฏ. เชฌเช‚เชจเซ‡ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เช…เชฎเซ‡ เชซเชฐเซ€เชฅเซ€ เชธเชฎเช—เซเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เช•เชฐเซ€เช เช›เซ€เช.

เช† เช…เชญเชฟเช—เชฎ เช•เซ€เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ‡ เช–เซ‚เชฌ เชœ เชฌเชฟเชจเช…เชธเชฐเช•เชพเชฐเช• เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซ‹ เชคเซ‡เชจเซ‡ เชฌเชพเชณเช•เซ‹ เชนเซ‹เชฏ, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชชเชฃ เชตเชงเซ เชœเซ‹ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฌเชŸเซเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ‡, เช•เชพเชขเซ€ เชจเชพเช–เชตเซเช‚ เช…เชจเซ‡ เช•เซ€ เชฌเชจเชพเชตเชตเซ€. เชœเซ‹ เช•เซ‡, เช†เชจเชพเชฅเซ€ เช…เชฎเชจเซ‡ etcd เช…เชจเซ‡ เช•เซ‹เชจเซเชธเซเชฏเซเชฒเชฎเชพเช‚ เช…เชจเซเชฏ เชชเชฆเซเชงเชคเชฟเช“เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เชœเชŸเชฟเชฒเชคเชพ เชŸเชพเชณเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เชฎเชณเซ€.

ZooKeeper เชฎเชพเช‚ เชธเซ‡เชŸ เช•เชฐเซ‹

ZooKeeper เชฎเชพเช‚ เช…เชฒเช— เชชเชฆเซเชงเชคเชฟเช“ เช›เซ‡ เชœเซ‡ เชŸเซเชฐเซ€ เชธเซเชŸเซเชฐเช•เซเชšเชฐ (เช•เซเชฐเชฟเชเชŸ, เชกเซ€เชฒเซ€เชŸ, เช—เซ‡เชŸเชšเชฟเชฒเซเชกเชฐ) เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชจเซ‹เชกเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ (setData, getData). เชตเชงเซเชฎเชพเช‚, เชฌเชงเซ€ เชชเชฆเซเชงเชคเชฟเช“เชฎเชพเช‚ เช•เชกเช• เชชเซ‚เชฐเซเชตเชถเชฐเชคเซ‹ เช›เซ‡: เชœเซ‹ เชจเซ‹เชก เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชนเซ‹เชฏ โ€‹โ€‹เชคเซ‹ Create เช เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเชถเซ‡. เชกเซ‡เชŸเชพ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เช•เชพเชขเซ€ เชจเชพเช–เซ‹ เช…เชฅเชตเชพ เชธเซ‡เชŸ เช•เชฐเซ‹ - เชœเซ‹ เชคเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจเชฅเซ€. เช…เชฎเชจเซ‡ เชเช• เชธเซ‡เชŸ เชชเชฆเซเชงเชคเชฟเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€ เชœเซ‡เชจเซ‡ เช•เซ€เชจเซ€ เชนเชพเชœเชฐเซ€ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซเชฏเชพ เชตเชฟเชจเชพ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ.

เชเช• เชตเชฟเช•เชฒเซเชช เช เช›เซ‡ เช•เซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ€ เชœเซ‡เชฎ เช†เชถเชพเชตเชพเชฆเซ€ เช…เชญเชฟเช—เชฎ เช…เชชเชจเชพเชตเชตเซ‹. เชจเซ‹เชก เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชชเชพเชธเซ‹. เชœเซ‹ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชธเซ‡เชŸเชกเซ‡เชŸเชพเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹, เช…เชจเซเชฏเชฅเชพ เชฌเชจเชพเชตเซ‹. เชœเซ‹ เช›เซ‡เชฒเซเชฒเซ€ เชชเชฆเซเชงเชคเชฟ เชญเซ‚เชฒ เช†เชชเซ‡ เช›เซ‡, เชคเซ‹ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเซ‹. เชจเซ‹เช‚เชงเชจเซ€เชฏ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซ เช เช›เซ‡ เช•เซ‡ เช…เชธเซเชคเชฟเชคเซเชต เชชเชฐเซ€เช•เซเชทเชฃ เช…เชฐเซเชฅเชนเซ€เชจ เช›เซ‡. เชคเชฎเซ‡ เชคเชฐเชค เชœ เชฌเชจเชพเชตเซ‹ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชธเชซเชณ เชธเชฎเชพเชชเซเชคเชฟเชจเซ‹ เช…เชฐเซเชฅ เช เชฅเชถเซ‡ เช•เซ‡ เชจเซ‹เชก เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชคเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชจเชนเชฟเช‚เชคเชฐ, เชฌเชจเชพเชตเซ‹ เชฏเซ‹เช—เซเชฏ เชญเซ‚เชฒ เช†เชชเชถเซ‡, เชœเซ‡เชจเชพ เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ setData เช•เซ‰เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เช•เซ‰เชฒเซเชธ เชตเชšเซเชšเซ‡, เชธเซเชชเชฐเซเชงเชพเชคเซเชฎเช• เช•เซ‰เชฒ เชฆเซเชตเชพเชฐเชพ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡, เช…เชจเซ‡ เชธเซ‡เชŸเชกเซ‡เชŸเชพ เชชเชฃ เชญเซ‚เชฒ เช†เชชเชถเซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเซ‡ เชคเซ‡ เชฌเชงเซเช‚ เชซเชฐเซ€เชฅเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชถเซเช‚ เชคเซ‡ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เช›เซ‡?

เชœเซ‹ เชฌเช‚เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เชญเซ‚เชฒ เช†เชชเซ‡ เช›เซ‡, เชคเซ‹ เช…เชฎเซ‡ เช–เชพเชคเชฐเซ€เชชเซ‚เชฐเซเชตเช• เชœเชพเชฃเซ€เช เช›เซ€เช เช•เซ‡ เชธเซเชชเชฐเซเชงเชพเชคเซเชฎเช• เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชšเชพเชฒเซ‹ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€เช เช•เซ‡ เช•เซ‹เชฒเชฟเช‚เช— เชธเซ‡เชŸ เชชเช›เซ€ เช† เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชชเช›เซ€ เช†เชชเชฃเซ‡ เชœเซ‡ เชชเชฃ เช…เชฐเซเชฅ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชคเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชญเซ‚เช‚เชธเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช†เชชเชฃเซ‡ เชงเชพเชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เชธเซ‡เชŸ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชฅเชฏเซ‹ เชนเชคเซ‹, เชชเช›เซ€ เชญเชฒเซ‡เชจเซ‡ เชนเช•เซ€เช•เชคเชฎเชพเช‚ เช•เช‚เชˆเชชเชฃ เชฒเช–เชตเชพเชฎเชพเช‚ เชจ เช†เชตเซเชฏเซเช‚ เชนเซ‹เชฏ.

เชตเชงเซ เชคเช•เชจเซ€เช•เซ€ เชตเชฟเช—เชคเซ‹

เช† เชตเชฟเชญเชพเช—เชฎเชพเช‚ เช†เชชเชฃเซ‡ เชตเชฟเชคเชฐเชฟเชค เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚เชฅเซ€ เชตเชฟเชฐเชพเชฎ เชฒเชˆเชถเซเช‚ เช…เชจเซ‡ เช•เซ‹เชกเชฟเช‚เช— เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚.
เช—เซเชฐเชพเชนเช•เชจเซ€ เชฎเซเช–เซเชฏ เช†เชตเชถเซเชฏเช•เชคเชพเช“เชฎเชพเช‚เชจเซ€ เชเช• เช•เซเชฐเซ‹เชธ-เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชนเชคเซ€: เช“เช›เชพเชฎเชพเช‚ เช“เช›เซ€ เชเช• เชธเซ‡เชตเชพเช“ Linux, MacOS เช…เชจเซ‡ Windows เชชเชฐ เชธเชฎเชฐเซเชฅเชฟเชค เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช. เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เช…เชฎเซ‡ เชซเช•เซเชค Linux เชฎเชพเชŸเซ‡ เชœ เชตเชฟเช•เชธเชพเชตเซเชฏเซเช‚, เช…เชจเซ‡ เชชเช›เซ€เชฅเซ€ เช…เชจเซเชฏ เชธเชฟเชธเซเชŸเชฎเซเชธ เชชเชฐ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เช†เชจเชพเชฅเซ€ เช˜เชฃเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชŠเชญเซ€ เชฅเชˆ, เชœเซ‡ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชธเซเชชเชทเซเชŸ เชนเชคเซ€ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเช‚เชชเชฐเซเช• เช•เชฐเชตเซ‹. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเซเชฐเชฃเซ‡เชฏ เชธเช‚เช•เชฒเชจ เชธเซ‡เชตเชพเช“ เชนเชตเซ‡ Linux เช…เชจเซ‡ MacOS เชชเชฐ เชธเชฎเชฐเซเชฅเชฟเชค เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ Windows เชชเชฐ เชฎเชพเชคเซเชฐ Consul KV เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.

เชถเชฐเซ‚เช†เชคเชฅเซ€ เชœ, เช…เชฎเซ‡ เชธเซ‡เชตเชพเช“ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹. ZooKeeper เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชชเชธเช‚เชฆเช—เซ€ เชชเชฐ เชชเชกเซ€ เชเซ‚เช•เซ€เชชเชฐ C++, เชœเซ‡ เช†เช–เชฐเซ‡ เชตเชฟเชจเซเชกเซ‹เช เชชเชฐ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณ เช—เชฏเซเช‚. เชœเซ‹ เช•เซ‡, เช† เช†เชถเซเชšเชฐเซเชฏเชœเชจเช• เชจเชฅเซ€: เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชซเช•เซเชค เชฒเชฟเชจเช•เซเชธ เชคเชฐเซ€เช•เซ‡ เชธเซเชฅเชฟเชค เช›เซ‡. เช•เซ‹เชจเซเชธเซเชฏเซเชฒ เชฎเชพเชŸเซ‡ เชเช•เชฎเชพเชคเซเชฐ เชตเชฟเช•เชฒเซเชช เชนเชคเซ‹ เชชเซ€เชชเซ€เช•เซ‹เชจเซเชธเชฒ. เชคเซ‡เชฎเชพเช‚ เช†เชงเชพเชฐ เช‰เชฎเซ‡เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เชธเชคเซเชฐเซ‹ ะธ เชตเซเชฏเชตเชนเชพเชฐเซ‹. เชตเช—เซ‡เชฐเซ‡ เชฎเชพเชŸเซ‡, เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเชพ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชŸเซ‡เช•เซ‹ เช†เชชเชคเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซเชตเชฟเชงเชพเชฏเซเช•เซเชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฎเชณเซ€ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชซเช•เซเชค เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒ grpc เช•เซเชฒเชพเชฏเช‚เชŸ.

ZooKeeper C++ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเชพ เช…เชธเซเชฎเซ‡เชณ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฅเซ€ เชชเซเชฐเซ‡เชฐเชฟเชค เชฅเชˆเชจเซ‡, เช…เชฎเซ‡ เช…เชธเซเชฎเซ‡เชณ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‹ เช…เชฎเชฒ เช•เชฐเชตเชพเชจเซเช‚ เชชเชฃ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. ZooKeeper C++ เช† เชฎเชพเชŸเซ‡ เชญเชตเชฟเชทเซเชฏ/เชตเชšเชจ เช†เชฆเชฟเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. STL เชฎเชพเช‚, เช•เชฎเชจเชธเซ€เชฌเซ‡, เชคเซ‡เช“ เช–เซ‚เชฌ เชœ เชจเชฎเซเชฐเชคเชพเชฅเซ€ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเชพ เชชเช›เซ€ เชชเชฆเซเชงเชคเชฟ, เชœเซ‡ เชชเชพเชธ เช•เชฐเซ‡เชฒ เช•เชพเชฐเซเชฏเชจเซ‡ เชญเชตเชฟเชทเซเชฏเชจเชพ เชชเชฐเชฟเชฃเชพเชฎ เชชเชฐ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡ เช‰เชชเชฒเชฌเซเชง เชฅเชพเชฏ เช›เซ‡. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชชเชฐเชฟเชฃเชพเชฎเชจเซ‡ เช…เชฎเชพเชฐเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเชพ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช†เชตเซ€ เชชเชฆเซเชงเชคเชฟ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เช† เชธเชฎเชธเซเชฏเชพเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เช…เชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชธเชฐเชณ เชฅเซเชฐเซ‡เชก เชชเซ‚เชฒเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซ‹ เชชเชกเซเชฏเซ‹, เช•เชพเชฐเชฃ เช•เซ‡ เช—เซเชฐเชพเชนเช•เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เชชเชฐ เช…เชฎเซ‡ เชฌเซ‚เชธเซเชŸ เชœเซ‡เชตเซ€ เชญเชพเชฐเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€.

เช…เชฎเชพเชฐเชพ เชชเช›เซ€ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช† เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชฌเซ‹เชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชตเชšเชจ/เชญเชตเชฟเชทเซเชฏเชจเซ€ เชœเซ‹เชกเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชจเชตเซเช‚ เชญเชตเชฟเชทเซเชฏ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเชพเชธ เชฅเชฏเซ‡เชฒเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช•เชพเชฐเซเชฏ เช…เชจเซ‡ เช•เชคเชพเชฐเชฎเชพเช‚ เชตเชงเชพเชฐเชพเชจเชพ เชตเชšเชจ เชธเชพเชฅเซ‡ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเซ‚เชฒเชฎเชพเช‚เชฅเซ€ เชเช• เชฅเซเชฐเซ‡เชก เช•เชคเชพเชฐเชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช• เชซเซเชฏเซเชšเชฐเซเชธ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ wait_for เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเชคเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชชเชฐเชฟเชฃเชพเชฎ เช‰เชชเชฒเชฌเซเชง เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช…เชจเซเชฐเซ‚เชช เช•เชพเชฐเซเชฏ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชตเชณเชคเชฐ เชฎเซ‚เชฒเซเชฏ เชตเชšเชจเชจเซ‡ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช…เชฎเซ‡ เชเช• เชœ เชฅเซเชฐเซ‡เชก เชชเซ‚เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— etcd เช…เชจเซ‡ เช•เซ‹เชจเซเชธเซเชฏเซเชฒเชจเซ‡ เชชเซเชฐเชถเซเชจเซ‹ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช…เช‚เชคเชฐเซเช—เชค เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹เชจเซ‡ เชฌเชนเซเชตเชฟเชง เชตเชฟเชตเชฟเชง เชฅเซเชฐเซ‡เชกเซ‹ เชฆเซเชตเชพเชฐเชพ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. ppconsul เชฅเซเชฐเซ‡เชก เชธเชฒเชพเชฎเชค เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชคเซ‡เชจเชพ เชชเชฐเชจเชพ เช•เซ‰เชฒเซเชธ เชคเชพเชณเชพเช“ เชฆเซเชตเชพเชฐเชพ เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡.
เชคเชฎเซ‡ เชฌเชนเซเชตเชฟเชง เชฅเซเชฐเซ‡เชกเซ‹เชฎเชพเช‚เชฅเซ€ grpc เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชพเช‚ เชธเซ‚เช•เซเชทเซเชฎเชคเชพ เช›เซ‡. เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚ เช˜เชกเชฟเชฏเชพเชณเซ‹ grpc เชธเซเชŸเซเชฐเซ€เชฎ เชฆเซเชตเชพเชฐเชพ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเช•เชพเชฐเชจเชพ เชธเช‚เชฆเซ‡เชถเชพเช“ เชฎเชพเชŸเซ‡ เชฆเซเชตเชฟเชฆเชฟเชถ เชšเซ‡เชจเชฒเซ‹ เช›เซ‡. เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฌเชงเซ€ เช˜เชกเชฟเชฏเชพเชณเซ‹ เชฎเชพเชŸเซ‡ เชเช• เชฅเซเชฐเซ‡เชก เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชเช• เชœ เชฅเซเชฐเซ‡เชก เชœเซ‡ เช†เชตเชจเชพเชฐเชพ เชธเช‚เชฆเซ‡เชถเชพเช“ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€ grpc เชธเซเชŸเซเชฐเซ€เชฎเชฎเชพเช‚ เชธเชฎเชพเช‚เชคเชฐ เชฒเช–เชพเชฃเชจเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช˜เชกเชฟเชฏเชพเชณ เชถเชฐเซ‚ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช…เชฅเชตเชพ เช•เชพเชขเซ€ เชจเชพเช–เชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเชพเชฐเซ‡ เช†เช—เชฒเซ€ เชฎเซ‹เช•เชฒเชคเชพ เชชเชนเซ‡เชฒเชพ เช…เช—เชพเช‰เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เชฎเซ‹เช•เชฒเชตเชพเชจเซเช‚ เชชเซ‚เชฐเซเชฃ เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฐเชพเชน เชœเซ‹เชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡. เช…เชฎเซ‡ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เชถเชฐเชคเซ€ เชšเชฒเซ‹.

เชชเชฐเชฟเชฃเชพเชฎ

เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชœเซเช“: liboffkv.

เช…เชฎเชพเชฐเซ€ เชŸเซ€เชฎ: เชฐเชพเชฏเชก เชฐเซ‹เชฎเชพเชจเซ‹เชต, เช‡เชตเชพเชจ เช—เซเชฒเซเชถเซ‡เชจเซเช•เซ‹เชต, เชฆเชฟเชฎเชฟเชคเซเชฐเซ€ เช•เชฎเชฒเชฆเซ€เชจเซ‹เชต, เชตเชฟเช•เซเชŸเชฐ เช•เซเชฐเชพเชชเชฟเชตเซ‡เชจเซเชธเซเช•เซ€, เชตเชฟเชŸเชพเชฒเซ€ เช‡เชตเชพเชจเชฟเชจ.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹