Disque 1.0 RC1がリリースされました!
本日、Disque 1.0の最初のリリース候補(RC1)が利用可能になったことを、嬉しくお知らせします。
Disqueが何なのかご存じない方は、まずGithubのプロジェクトページにあるREADMEを読むのがよいでしょう。http://github.com/antirez/disqueをご覧ください。
Disqueは単なるソフトウェアです。そのため、Disqueを使う人々にとって役立つものをどれだけ生み出せるかによって、物質的な価値はゼロにも、それ以上にもなり得ます。しかし私にとっては、Disqueが物質的にどのようなものであるかを超えた、非常に大きな価値があります。それは、自分が大切だと思うものを設計し、形にすることの価値です。これがプログラミングの魔法です。何もなかった場所に、今は動くものがある。それを他の人が分析したり、実行したり、使ったりできるのです。
分散システムは美しい分野です。Redisのおかげで、そして何らかの形で私のメンターになろうとしてくれた人々のおかげで、私は分散システムに触れる機会を得ました。この分野への愛情を、何か形のあるものにしたいと思ったのです。先入観を持たず、他の類似システムが何をしているかを細かく気にしすぎることもなく、ゼロから設計した新しく小さなシステムです。Redisでの経験から、メッセージブローカーは非常に興味深いテーマであり、ある意味では分散システムの概念を適用するのに最適な題材だとわかりました。私は、メッセージブローカーは楽しく刺激的なものになり得るとさえ思っています。そこで、新しいメッセージキューの設計に取り組みました。その結果がDisqueです。
Disqueの設計目標は、優れたユーザー体験を提供するシステムを作ることです。メッセージングの文脈において、理解しやすい一定の保証を提供し、運用を極めてシンプルにすることです。RC1はその基盤を提供しますが、まだやるべきことは残っています。まずは、AphyrがJepsenを使ってDisqueを徹底的にテストしてくれることを願っています。Disqueは、特定の種類の保証を提供し、それをテストできるシステムです。もし特定のテストに失敗すれば、それは直接、修正すべきバグがあるということになります。つまり、よりよいシステムにつながるのです。
運用面では、現実の世界でテストする必要があります。私の意見では、APとメッセージキューは、運用上の堅牢性を実現するための完璧な組み合わせです。ただし、最初のリリースですべてを正しくできたなどという幻想は抱いていません。私が目標としている運用上のシンプルさに本当に到達するには、何か月、あるいは何年もの反復が必要になるでしょう。さらに、これはここ数週間で大幅に変更されたRC1です。かなりの数のバグがあると予想しています。
楽しく刺激的なシステムを作るという観点では、利用者が*この実装固有の*細部について考えるよう強いるのではなく、利用者が抱えているメッセージングの問題を、より一般的な形で考えられるような、シンプルで小さなAPIにまとめようとしました。Disqueには一連のイントロスペクション機能もあり、実際にデバッグや観測が可能な、透明性の高いシステムにするのに役立つはずです。
新しいコードやアイデアが持つあらゆる限界はありますが、RCリリースは素晴らしい第一歩です。私たちプログラマーが始めたまま決して完成させないサイドプロジェクトのリストに、Disqueが加わらずに済んだことを嬉しく思います。
この数か月間、私は一人で取り組んでいたわけではありません。Disqueを開発しながら、その形をどうするべきか模索する中で、He Sun、Damian Janowski、Josiah Carlson、Michel Martens、Jacques Chester、Kyle Kingsbury、Mark Paluch、Philipp Krenn、Justin Case、Nathan Fritz、Marcos Nils、Jasper Louis Andersen、Vojtech Vitek、Renato C.、Sebastian Waisbrot、Redis Labs、Pivotal、そしておそらく今この場で思い出せていないもっと多くの方々から助けをいただきました。ご協力ありがとうございました。
RC1はDisqueのGithubリポジトリにタグ付けされています。楽しんでください!
記事をランダムに読む