私はelasticsearchとそのスケーリングの新機能です。私はどのようにアプローチするのかわからない質問があります。 Railsのmicroserviceアプリケーションと複数のサーバがありませmicroservicesからデータを処理するためのElasticsearchサーバーを設定する
:
はここの状況です。それぞれがそれぞれ独自のデータを取得しています(具体的には、異なるソーシャルネットワークからの投稿を集約しているため、インデックス可能な検索フィールドはすべてのデータベースで同じです)。
現在の場所にデータを保存し、それぞれのRailsアプリケーションがこの検索サーバーを有効にせずに複数のデータベースを検索するためだけに専用のelasticsearchサーバーを設定するソリューションを見つける必要があります。これは、潜在的には、他の各サーバーでESを設定し、そこに検索パターンを定義することですが、完全に異なるサーバーで複数モデルの検索を行うことを意味します。
これらの操作の最終目標は、ActiveRecordオブジェクト全体または関連するすべての属性をメインアプリケーションに送信することです。
達成することも可能ですか?誰も同じような問題を抱えているのでしょうか?
私はそれをどのように使い始めるかについて少し迷っています。
ありがとうございました@ chris-franklin、それはまさに問題です。すべての外部データベースのインデックスを作成して検索を実行する個別のアプリケーションと言われるインデックスサービスですか? – marinados
自分自身私は、複数のリモートDBを指し示す検索アプリケーションを作成し、それらをすべて索引付けし、複数モデルの検索を実行し、APIを通じてすべてを戻すことを考えていました。それは悪い戦略ですか?そして私は部族のノードを調べます、それは有望そうです! – marinados
私たちのインデックスサービスは、私たちのアーキテクチャのもう一つのマイクロサービスです。それはElasticsearchへのデータの押し込みを処理します。 Googleには、検索クエリの作成、ESへの送信、そしてUIが簡単に使用できる形式で結果を返す処理を行う個別のマイクロサービスがあります。あなたのニーズは、このアーキテクチャーの複雑さに直接影響します。私たちのニーズは、各ステップを処理するために個別にスケーラブルなサービスが必要であることを意味します。 –