最近はもっぱらオフィスの引っ越し作業で忙しくている山本泰宇です。
ブログを書くのも久しぶりなら、yrmcds についてお知らせするのも1年ぶりになってしまいました。
ご存じない or 忘れた方も多いと思いますので改めて紹介すると、yrmcds はサイボウズで開発している memcached 互換の KVS です。互換性が高いのが特徴で、テキストプロトコルはもちろん、バイナリプロトコルもしっかり実装しています。他にレプリケーションやサーバーサイドロックといった memcached にない機能も備えています。
1年ぶりのリリースとなる yrmcds 1.1.1 では、以下の機能が追加されています。
- リソースカウンタ
cybozu.com の DoS 対策のために追加したプロトコルです。memcache プロトコルではありません。
分散セマフォのように使えますが、セマフォと違い、キャパシティを動的に変更可能になっています。 - IPv6 サポートの改良(#38, #40)
IPv6 リンクローカルアドレスを仮想IPアドレスに設定できるようになりました。 - 機密データをメモリから消す機能(#41)
SSLセッションデータを yrmcds でサーバー間で共有するケースでの利用を想定しています。 - メモリロッキング(#45)
mlockall
でメモリがスワップアウトしないようにする機能です。
合わせて、今回は libyrmcds も紹介します。
libyrmcds は memcached のバイナリプロトコルの C 言語用クライアントライブラリです。リソースカウンタのプロトコルもサポートしています。特徴は、機能が少ないことです。ミニマルな機能にとどめることで、様々なプロダクトに組み込みやすいものになることを意図しています。
機能が少ないので書くこともないのですが、ご興味ある方はマニュアルをご覧ください。おまけとして memcache のコマンドラインクライアントも付属しています。
以下のページからそれぞれダウンロードできます。お試しいただければ幸いです。
1.0.0 のリリースから、様々な方にご協力いただいて完成度の高いものに仕上がりました。この場をお借りして、お礼申し上げます。