LoginSignup
0
0

More than 5 years have passed since last update.

elasticsearch-rubyで複数のホストを設定する

Posted at

概要

Elasticsearchクラスタを立てたので、いい感じにクエリの負荷が分散してほしい。
railsからクエリを投げるシステムを構築しているので、rubyかrailsでそういう便利機能を実装したgemがあるとうれしい。

ロードバランサはいらない?

https://discuss.elastic.co/t/easticesearch/81547/2
「ロードバランサーとかを用意しなくても、大抵のElasticsearchのクライアントライブラリであれば複数のIPアドレスを指定してラウンドロビンでやってくれる」

らしいです。

elasticsearch-ruby

このgemを使ってElasticsearchのクライアントを初期化する際、複数のホストを設定できる。

test.rb
hosts = "192.168.0.3", "192.168.0.4", "192.168.0.5"
@client = Elasticsearch::Client.new(hosts: hosts, randomize_hosts: true)

randomize_hosts
これを入れておくと接続の度にランダムでホストが選ばれるっぽい。

感想

・AWSのVPC上に立てるのであれば、簡単にELBが立ち上がるのでそんなにメリットはなさそう。
・Elasticsearchのクラスタ上にあるホストをアプリケーションが知っていないといけない。
・高度な負荷分散をやってくれるわけではない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0