こんにちは。Droonga開発チームの結城(Piro)です。 Groonga Advent Calendar 18日目は、16日目に引き続きDroongaの解説です。 Droongaを題材にした過去4回の記事(6日目、7日目、9日目、13日目)では、分散処理の初歩の初歩を解説しました。 それに続くDroongaの基盤部分を紹介するシリーズとして、16日目はノード間の通信プロトコルについて紹介しました。 今回はその続きとして、ノード間でのメッセージ転送における転送先の決定方法と、そのために必要となるクラスタ構成の情報をDroongaではどのように扱っているのかを紹介します。 転送先を決めるのは誰か? 「検索リクエストをレプリケーション内でランダムに転送する」や「更新リクエストを適切なパーティションに転送する」といった動作を行う時、Droongaノードはどのようにして転送先を決定しているのでし