Riak Cloud Storage. เบชเปˆเบงเบ™เบ—เบต 1: เบเบฒเบ™เบ•เบฑเป‰เบ‡ Riak KV

Riak CS (Cloud Storage) โ€“ เบŠเบญเบšเปเบงเบ—เบตเปˆเปƒเบŠเป‰เบ‡เปˆเบฒเบเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบงเบฑเบ”เบ–เบธ, เปเบฅเปˆเบ™เบขเบนเปˆเป€เบ—เบดเบ‡ Riak KV. Riak (KV) เปเบกเปˆเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เปˆเบฒ NoSQL เบ—เบตเปˆเปเบˆเบเบขเบฒเบ. Riak CS เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบ, เบกเบตเปƒเบซเป‰, เบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบŸเบฑเบ‡เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ”เบเปเปˆเบ•เบฒเบก, เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ„เบฅเบฒเบง - เบ—เบฑเบ‡เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐเป€เบญเบเบฐเบŠเบปเบ™ - เบซเบผเบทเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเป‚เบซเบผเบ”เบชเบนเบ‡. Riak CS API เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš Amazon S3 เปเบฅเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบฎเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ•เปˆเบฒเบ‡เป†.

Riak Cloud Storage. เบชเปˆเบงเบ™เบ—เบต 1: เบเบฒเบ™เบ•เบฑเป‰เบ‡ Riak KV
เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เปเบ›โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบŸเบฃเบตโ€‹เบ‚เบญเบ‡โ€‹เบ„เบนเปˆโ€‹เบกเบทโ€‹เบขเปˆเบฒเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™ Riak CS เบฅเบฐโ€‹เบšเบปเบšโ€‹เบชเบฐโ€‹เบšเบฑเบš 2.1.1โ€‹

เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ Riak CS, เบชเบฒเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบฎเบฑเบ”เบงเบฝเบเบฎเปˆเบงเบกเบเบฑเบ™, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเปเบ•เปˆเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เป†:

  • Riak (KV) - เบฅเบฐเบšเบปเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบชเบดเป‰เบ™เบชเบธเบ”.
  • Riak CS - เบŠเบฑเป‰เบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบŸเบฑเบ‡เบ„เบฅเบฒเบงเบขเบนเปˆเป€เบ—เบดเบ‡ Riak เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบฅเบฐ API, เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเปเบฅเบฐ metadata เปƒเบ™ Riak, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปเบˆเบเบขเบฒเบเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบชเบธเบ”เบ—เป‰เบฒเบ.
  • เป€เบชเบปเบฒเบซเบผเบฑเบ - เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเปœเปˆเบงเบเบ‡เบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ—เบปเปˆเบงเป‚เบฅเบเป€เบŠเบฑเปˆเบ™: เบ„เบธ เปเบฅเบฐเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡ Riak. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบชเป‰เบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰, เบเบฒเบ™เบชเป‰เบฒเบ‡เบซเบผเบทเบฅเบถเบš buckets.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบฅเบนเบเบ„เป‰เบฒ S3 เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบเบฑเบšเบฅเบฐเบšเบปเบš Riak CS.

เบ—เปˆเบฒเบ™เบ„เบงเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบกเบตเบซเบ™เบถเปˆเบ‡ Riak node เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ Riak CS node เปƒเบ™เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. Riak เปเบฅเบฐ Riak CS nodes เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบซเบ™เบถเปˆเบ‡ Riak node เปเบฅเบฐเบซเบ™เบถเปˆเบ‡ Riak CS node เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ”เบฝเบงเบเบฑเบ™. เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบซเบ™เบถเปˆเบ‡เบกเบตเบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบžเบฝเบ‡เบžเปเป€เบžเบทเปˆเบญเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เบฑเบ‡เบชเบญเบ‡ Riak เปเบฅเบฐ Riak CS nodes, เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบงเบ—เปˆเบฒเบ™เบˆเบฐเป€เบซเบฑเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™ latency เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบซเบผเบธเบ”เบฅเบปเบ‡.

เบ–เป‰เบฒเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบผเบฒเบ nodes, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒเบšเปˆเบญเบ™เบ—เบตเปˆเป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบเบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰, เบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰เบ„เปˆเบฒเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Riak KV เบชเปเบฒเบฅเบฑเบš CS

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ Riak CS เป€เบ›เบฑเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ Riak, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Riak เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™ Riak CS. เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบฑเบ‡เบ„เบนเปˆเบกเบทเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Riak เปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™.

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒ Riak KV เปเบฅเบฐ Riak CS เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ—เบธเบ node เปƒเบ™ cluster เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, Stanchion เบ„เบงเบ™เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป‚เบซเบ™เบ”เบ”เบฝเบงเปƒเบ™เบเบธเปˆเบกเบ—เบฑเบ‡เบซเบกเบปเบ”.

Riak Cloud Storage. เบชเปˆเบงเบ™เบ—เบต 1: เบเบฒเบ™เบ•เบฑเป‰เบ‡ Riak KV

Backends เบชเปเบฒเบฅเบฑเบš Riak CS

Backend เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบ Riak เปเบกเปˆเบ™ Bitcask, เปเบ•เปˆเบŠเบธเบ” Riak CS เบ›เบฐเบเบญเบšเบกเบต backend เบžเบดเป€เบชเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบเบธเปˆเบก Riak เบ—เบตเปˆเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš Riak CS. เบฎเบธเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเบกเบต Multi backend เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบš Riak.

เบ–เบฑเบ‡ Riak เบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เบžเบฒเบเปƒเบ™ Riak CS เปƒเบŠเป‰เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ‚เบฑเป‰เบ™เบชเบญเบ‡, เป€เบŠเบดเปˆเบ‡เบ•เบญเบ™เบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™ Backend LevelDB. เบžเบฒเบเบชเปˆเบงเบ™เบญเบทเปˆเบ™เป†เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš Riak CS เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฒเบเบเบฒเบ™เปƒเบŠเป‰ Bticask backend. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡ Multi backend เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™ Riak CS เป€เบžเบทเปˆเบญเปƒเบŠเป‰เบ›เบฐเป‚เบซเบเบ”เบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡ backends เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™. เบžเบฒเบเบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›เบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒ Riak เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป€เบžเบทเปˆเบญเปƒเบŠเป‰ Multi-backend เบ™เบตเป‰.

เป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡ เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆ Riak เบˆเบฐเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบกเบนเบ™. Riak KV เบกเบต backends เบซเบผเบฒเบเปƒเบ™เบชเบฒเบ™เบซเบ™เบนเบ‚เบญเบ‡เบ•เบปเบ™: Bitcask, LevelDB, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐ Multi.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปƒเบŠเป‰ Riak MapReduse เป€เบžเบทเปˆเบญเบฅเบงเบšเบฅเบงเบกเป„เบŸเบฅเปŒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ–เบฑเบ‡. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบšเบญเบ Riak nodes เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒ Riak CS เบ—เบตเปˆเบ–เบทเบเบเบฐเบเบฝเบกเบเปˆเบญเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰.

เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบžเบทเปˆเบญเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒ Riak node เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš Riak CS, เป€เบŠเบฑเปˆเบ™: เบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเบžเบญเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบœเปˆเบฒเบ™ Protocol Buffers. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบทเปˆเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™. เบžเบฒเบเบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒ Riak node เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš Riak CS.

เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒ backend Riakโ€‹

เบ—เปเบฒเบญเบดเบ”, เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ riak.conf เบซเบผเบท advanced.config/app.config เบ–เบทเบเปเบเป‰เป„เบ‚. เป„เบŸเบฅเปŒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /etc/riak เบซเบผเบท /opt/riak/etc. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, Riak เปƒเบŠเป‰ Backend Bitcask. เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบ„เบทเบเบฒเบ™เบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบเบฒเบ™เบ–เบญเบ™เป€เบชเบฑเป‰เบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

ADVANCED.CONFIG

{riak_kv,
 [ %% Delete this line: 
{storage_backend, riak_kv_bitcask_backend},
 ]}

APP.CONFIG

{riak_kv, 
  [ %% Delete this line:
    {storage_backend, riak_kv_bitcask_backend},
]}

เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบกเบ”เบนเบ™ RiakCS เบชเปเบฒเบฅเบฑเบš Riak เปเบฅเบฐเปเบ™เบฐเบ™เปเบฒ Riak เบ™เปเบฒเปƒเบŠเป‰ backend เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบซเป‰ Riak CS. เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เป„เบŸเบฅเปŒ advanced.config เบซเบผเบท app.config เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เปเบฅเบฐเป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

ADVANCED.CONFIG

{eleveldb, [
    {total_leveldb_mem_percent, 30}
    ]},
{riak_kv, [
    %% Other configs
    {add_paths, ["/usr/lib/riak-cs/lib/riak_cs-2.1.1/ebin"]},
    {storage_backend, riak_cs_kv_multi_backend},
    {multi_backend_prefix_list, [{<<"0b:">>, be_blocks}]},
    {multi_backend_default, be_default},
    {multi_backend, [
        {be_default, riak_kv_eleveldb_backend, [
            {data_root, "/var/lib/riak/leveldb"}
        ]},
        {be_blocks, riak_kv_bitcask_backend, [
            {data_root, "/var/lib/riak/bitcask"}
        ]}
    ]},
    %% Other configs
]}

APP.CONFIG

{eleveldb, [
    {total_leveldb_mem_percent, 30}
    ]},
{riak_kv, [
    %% Other configs
    {add_paths, ["/usr/lib/riak-cs/lib/riak_cs-2.1.1/ebin"]},
    {storage_backend, riak_cs_kv_multi_backend},
    {multi_backend_prefix_list, [{<<"0b:">>, be_blocks}]},
    {multi_backend_default, be_default},
    {multi_backend, [
        {be_default, riak_kv_eleveldb_backend, [
            {data_root, "/var/lib/riak/leveldb"}
        ]},
        {be_blocks, riak_kv_bitcask_backend, [
            {data_root, "/var/lib/riak/bitcask"}
        ]}
    ]},
    %% Other configs
]}

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบซเบผเบฒเบเบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ add_paths เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ Riak CS เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ /usr/lib/riak-cs, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ•เบปเบงเป€เบฅเบทเบญเบ data_root เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ Riak เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ /var/lib. (เบซเบกเบฒเบเป€เบซเบ”: เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบฑเบ™เปเบกเปˆเบ™ add_paths - /usr/lib64/riak-cs/).

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ Riak CS เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Riak. เบ–เป‰เบฒเบšเปเปˆ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบŠเบธเบ”เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเป„เบ›เบซเบฒเป€เบˆเบปเป‰เบฒเบžเบฒเบšเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบญเป‰เบฒเบโ€‹เบ™เป‰เบญเบ‡โ€‹

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต allow_mult เป€เบ›เบฑเบ™ true. เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป€เบชเบฑเป‰เบ™เปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ riak.conf, เบซเบผเบทเบžเบฒเบเบชเปˆเบงเบ™ riak_core เปƒเบ™ advanced.config เบซเบผเบท app.config.

RIAK.CONF

buckets.default.allow_mult = true

ADVANCED.CONFIG

{riak_core, [
    %% Other configs
    {default_bucket_props, [{allow_mult, true}]},
    %% Other configs
]}

APP.CONFIG

{riak_core, [
    %% Other configs
    {default_bucket_props, [{allow_mult, true}]},
    %% Other configs
]}

เบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰ Riak เบชเป‰เบฒเบ‡เบญเป‰เบฒเบเบ™เป‰เบญเบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบš Riak CS เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Riak CS เป‚เบ”เบเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบฅเบนเบเบ„เป‰เบฒ, เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฑเบ‡เบงเบปเบ™: เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚เบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ Riak CS เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบ•เบฒเบกเบ—เบตเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เป„เบงเป‰.

เบžเบตเปˆเบ™เป‰เบญเบ‡ เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบงเบฑเบ”เบ–เบธเบซเบผเบฒเบเบญเบฑเบ™เบขเบนเปˆเปƒเบ™เบ„เบตเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบงเบฑเบ”เบ–เบธเบกเบตเบ„เปˆเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™ nodes เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เปเบฒเบเป€เบซเบ”: allow_mult
เป‚เบ™เบ” Riak เปƒเบ”เป†เบเปเบ•เบฒเบกเบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบš Riak CS เบˆเบฐเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡ allow_mult เป€เบ›เบฑเบ™ true เบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ. Riak CS เบˆเบฐเบฃเบตเป€เบŠเบฑเบ”เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ–เป‰เบฒเบ„เปˆเบฒเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบŠเบทเปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบš เปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆ IP

เปเบ•เปˆเบฅเบฐ node Riak เบกเบตเบŠเบทเปˆ, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ riak.conf เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ nodename. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ app.config, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบŠเบทเปˆ vm.args เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆ app.config เบ•เบฑเป‰เบ‡เบขเบนเปˆ, เปเบฅเบฐเบฅเบฐเบšเบธเบŠเบทเปˆ node เป‚เบ”เบเปƒเบŠเป‰เบ—เบธเบ‡ -name. เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบฅเบฐเบšเบธเบŠเบทเปˆ node เปƒเบ™เบฎเบนเบšเปเบšเบš @. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบชเบฒเบกเป‚เบซเบ™เบ”เบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เบฎเบ”เบ”เบฝเบง 100.0.0.1, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบŠเบทเปˆเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ riak1@100.0.0.1, riak2@100.0.0.1, เปเบฅเบฐ riak3@100.0.0.1 เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบŠเบทเปˆเบชเบฐเป€เบžเบฒเบฐเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบŠเบฑเปˆเบ™ test_cluster1@100.0.0.1, user3@100.0.0.1. เบชเบธเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเป‚เบฎเบ”เป€เบ›เบฑเบ™ riak1@127.0.0.1 เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ localhost.

RIAK.CONF

 nodename = riak1@127.0.0.1 

VM.ARGS

 -name riak1@127.0.0.1

เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบŠเบทเปˆเบ—เบฑเบ‡เปเบปเบ”เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบฅเบตเปˆเบกเบžเบงเบเบกเบฑเบ™ เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบธเปˆเบก.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ node เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบ–เบทเบเบชเปเบฒเป€เบฅเบฑเบ”, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบžเบฐเบเบฒเบเบฒเบกเป€เบ›เบตเบ”เบ•เบปเบง Riak:

SHELL

 riak start 

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹ เบ„เปเบฒเบ•เบญเบšเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ:

Riak Cloud Storage. เบชเปˆเบงเบ™เบ—เบต 1: เบเบฒเบ™เบ•เบฑเป‰เบ‡ Riak KV

เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเปเบ–เป‰เบฒเป€เบฅเบฑเบเบ™เป‰เบญเบ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš node เปเบฅเปˆเบ™.

SHELL

 riak ping

เบ–เป‰เบฒเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เปเบกเปˆเบ™ pong, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ Riak เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™;

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹ เบ„เปเบฒเบ•เบญเบšเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ:

Riak Cloud Storage. เบชเปˆเบงเบ™เบ—เบต 1: เบเบฒเบ™เบ•เบฑเป‰เบ‡ Riak KV

เบ–เป‰เบฒ node เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เป€เบšเบดเปˆเบ‡ erlang.log.1 log เปƒเบ™ /log directory เบ‚เบญเบ‡ node เบ–เป‰เบฒเบšเบฑเบ™เบซเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”. เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™ invalid_storage_backend. เป€เบŠเบดเปˆเบ‡เบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” Riak CS เปƒเบ™ advanced.config เบซเบผเบทเปƒเบ™ app.config เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ (เบซเบผเบท Riak CS เบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต). เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ™เบตเป‰, เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเป„เบ”เป‰เบ›เปˆเบฝเบ™เบˆเบฒเบ riak_cs_kv_multi_backend เป€เบ›เบฑเบ™ riak_kv_multi_backend.

เบเบณเบ™เบปเบ”เบ„เปˆเบฒ Riak เป€เบžเบทเปˆเบญเปƒเบŠเป‰เป‚เบ›เบฃเป‚เบ•เบ„เป buffers

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ buffer เป‚เบ›เบฃเป‚เบ•เบ„เบญเบ™ Riak เบขเบนเปˆเปƒเบ™ riak.conf เบซเบผเบทเบขเบนเปˆเปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™ riak_api เปƒเบ™เป„เบŸเบฅเปŒ advanced.config เบซเบผเบท app.config, เป€เบŠเบดเปˆเบ‡เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /etc/riak/. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡ 127.0.0.1 เปเบฅเบฐเบžเบญเบ” 8087. เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบดเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ Riak เปเบฅเบฐ Riak CS เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™. เปเบ—เบ™เบ—เบตเปˆ 127.0.0.1 เบ”เป‰เบงเบเบ—เบตเปˆเบขเบนเปˆ IP host Riak เปเบฅเบฐเบžเบญเบ” 8087 เบ”เป‰เบงเบเบญเบฑเบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

ADVANCED.CONF

{riak_api, [
    %% Other configs
    {pb, ["10.0.2.10", 10001]},
    %% Other configs
]}

APP.CONFIG

riak_api, [
    %% Other configs
    {pb, ["10.0.2.10", 10001]},
    %% Other configs
]}

เบซเบกเบฒเบเป€เบซเบ”:เบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ listener.protobuf.internal เปƒเบ™ riak.conf (เบซเบผเบทเบ„เปˆเบฒเบ‚เบญเบ‡เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต pb เปƒเบ™ advanced.conf/app.config) เป„เบŸเบฅเปŒเบ•เป‰เบญเบ‡เบเบปเบ‡เบเบฑเบšเบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบš riak_host เปƒเบ™ Riak CS riak-cs.config เปเบฅเบฐ Stanchion stanchion.conf (เบซเบผเบท riak_host เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบšเปƒเบ™เป„เบŸเบฅเปŒ .config/app.config) เบ‚เบฑเป‰เบ™เบชเบนเบ‡.

เบšเบฑเบ™เบ—เบถเบเบเปˆเบฝเบงเบเบฑเบšเปเบฒเบเป€เบฅเบเบžเบญเบ”
เบญเบฒเบ”เบ•เป‰เบญเบ‡เบกเบตเปเบฒเบเป€เบฅเบเบœเบญเบ”เบญเบทเปˆเบ™เบ–เป‰เบฒเบžเบญเบ”เบ‚เบฑเบ”เบเบฑเบšเบžเบญเบ”เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบญเบทเปˆเบ™ เบซเบผเบทเบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบเบณเบฅเบฑเบ‡เปƒเบŠเป‰เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ” เบซเบผเบทเป€เบŠเบตเบšเป€เบงเบตเบžเบฃเบฑเบญเบเบŠเบต.

เบกเบฑเบ™เบเบฑเบ‡เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ” Riak protobuf.backlog (เบซเบผเบทเปƒเบ™เป„เบŸเบฅเปŒ advanced.config/app.config เบ™เบตเป‰เปเบกเปˆเบ™ pb_backlog) เป€เบ—เบปเปˆเบฒเบเบฑเบšเบซเบผเบทเปƒเบซเบเปˆเบเบงเปˆเบฒ pool.request.size เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบš Riak CS เปƒเบ™ riak-cs. config (เบซเบผเบท request_pool_size เปƒเบ™เป„เบŸเบฅเปŒ advanced.config/ app.conf).

เบ–เป‰เบฒเบ„เปˆเบฒเบ‚เบญเบ‡ pool.request.size เปƒเบ™ Riak CS เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เปเบ›เบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ protobuf.backlog เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™ Riak.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Riak เบญเบทเปˆเบ™เป†

เป„เบŸเบฅเปŒ riak.conf เปเบฅเบฐ advanced.config เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบกเบนเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบ„เบงเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”. เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบขเบนเปˆ IP เบชเปเบฒเบฅเบฑเบš Riak

เป€เบกเบทเปˆเบญเบ•เบฑเป‰เบ‡ เบ—เบตเปˆเบขเบนเปˆ IP เบชเบณเบฅเบฑเบš Riak, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเป‚เบซเบ™เบ” Riak เบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ, เบšเปเปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเป‚เบซเบ™เบ”เบ”เบฝเบง เบซเบผเบท เป€เบžเบตเปˆเบกเป‚เบซเบ™เบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบชเปˆเบฅเบฐเบšเบปเบš. เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡ Riak เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™ riak.conf เบซเบผเบท - เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเบณเบฅเบฑเบ‡เปƒเบŠเป‰เป„เบŸเบฅเปŒ app.config - เปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ vm.args, เป€เบŠเบดเปˆเบ‡เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /etc/riak (เบซเบผเบท /opt/riak/etc/ เปƒเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบญเบทเปˆเบ™เป†).

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เปเบ–เบงเบ—เบตเปˆเบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡ Riak เบŠเบตเป‰เป„เบ›เบซเบฒ localhost เปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ™เบตเป‰:

RIAK.CONF

 nodename = riak@127.0.0.1

VM.ARGS

 -name riak@127.0.0.1

เปเบ—เบ™เบ—เบตเปˆ 127.0.0.1 เบ”เป‰เบงเบเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ เบซเบผเบทเบŠเบทเปˆเป‚เบฎเบ”เบ‚เบญเบ‡ node Riak.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบšเบ™เบงเบดเบ”

เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบžเบงเบเป€เบฎเบปเบฒเบ‚เปเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เป€เบžเบตเปˆเบกเบกเบนเบ™เบ„เปˆเบฒเปƒเบซเป‰เบเบฑเบšเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Riak riak.conf เบซเบผเบท vm.args, เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /etc/riak/ เบซเบผเบท /opt/riak/etc.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

## This setting should already be present for recent Riak installs.
 -env ERL_MAX_PORTS 65536

เบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ JavaScript MapReduce

เบ‚เปเปเบ™เบฐเบ™เบณเบšเปเปˆเปƒเบซเป‰เปƒเบŠเป‰ JavaScript MapReduce เปเบšเบšเป€เบเบปเปˆเบฒเบเบฑเบš Riak CS เบฅเบธเป‰เบ™เปƒเบ”เบเปเป„เบ”เป‰. เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ—เปˆเบฒเบ™เบ„เบงเบ™เบ›เบดเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ virtual machine เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ JavaScript MapReduce เป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ riak.conf, เบซเบผเบทเปƒเบ™เบžเบฒเบ riak_kv เบ‚เบญเบ‡ advanced.conf เบซเบผเบท app.config:

RIAK.CONF

 javascript.map_pool_size = 0
 javascript.reduce_pool_size = 0
 javascript.hook_pool_size = 0 

ADVANCED.CONFIG

{riak_kv, [
    %% Other configs
    {map_js_vm_count, 0},
    {reduce_js_vm_count, 0},
    {hook_js_vm_count, 0}
    %% Other configs
]}

APP.CONFIG

{riak_kv, [
    %% Other configs
    {map_js_vm_count, 0},
    {reduce_js_vm_count, 0},
    {hook_js_vm_count, 0}
    %% Other configs
]}

เบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš Riak CS.

เบ„เบนเปˆเบกเบทเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster