Является ли хорошей идеей внедрение службы поиска elasti c на том же сервере, что и сервер узла, с автоматическим масштабированием? - PullRequest
2 голосов
/ 17 июня 2020

Попытка развернуть проект на большом сервере t3 с автоматическим масштабированием.

  • Моя поисковая служба elasti c развернута в той же системе, что и узел, и реагировать на проекты. (Без использования AWS elasti c search)

  • Возникнут ли проблемы в будущем, и мне нужно будет отделить поисковую службу elasti c от другого сервера?

Ответы [ 2 ]

2 голосов
/ 17 июня 2020

Всегда приятно иметь отдельный выделенный сервер для запуска сервера Elasticsearch, но, поскольку вы используете AWS некоторые вещи, которые вы можете сделать, чтобы минимизировать проблемы:

Elasticsearch - это контраст приложения с отслеживанием состояния в ваше приложение node и react, если вы также не сохраняете состояние там, что не является хорошей идеей, и из-за природы приложений без сохранения состояния автомасштабирование очень полезно, поскольку вы можете по запросу в зависимости от процессора, памяти или другие метрики увеличивают или уменьшают масштабы экземпляров.

Но в случае Elasticsearch или других приложений с отслеживанием состояния это становится сложным, поскольку при масштабировании экземпляра вверх или вниз шарды перемещаются, если они не достижимы в пределах порогового значения что может привести к несбалансированному кластеру Elasticsearech.

Теперь, чтобы минимизировать эти проблемы:

  1. Убедитесь, что вы можете хранить индексы Elasticsearch на подключенном к сети диске, чтобы не было данных потеря, когда автомасштабирование приносит новый экземпляр и новый экземпляр Необходимо снова использовать более ранние сетевые подключения EBS (где хранятся ваши данные).
  2. Убедитесь, что вы не создаете новый процесс Elasticsearch при увеличении или уменьшении масштабов экземпляров в соответствии с вашей политикой автомасштабирования и процесс Elasticsearch должен быть исправлен и масштабироваться вверх / вниз с некоторым ручным вмешательством.

  3. Если вам необходимо масштабировать кластер Elasticsearch, убедитесь, что вы отключили выделение сегментов, чтобы избежать проблем, упомянутых ранее .

Это некоторые известные проблемы, с которыми вы можете столкнуться, и их может быть даже больше в зависимости от вашей конфигурации, и при написании самого ответа я чувствовал, что так легко просто иметь выделенный экземпляр для Elasticsearch, чтобы избежать этих странных проблем.

1 голос
/ 17 июня 2020

Я бы добавил к другим ответам следующее:

  • Elasticsearch работает лучше всего, если у него достаточно ОЗУ для полного хранения индексов в ОЗУ. Если Elasticsearch конкурирует с узлом / приложением за оперативную память, это повлияет на его производительность.
  • С точки зрения обслуживания / производительности вам следует подумать о наличии как минимум трехузлового кластера. Даже если это означает, что у вас есть машины меньшего размера. Если AWS обновляет инфраструктуру, и у вас есть 1 машина, когда показатель недоступности превышает 0,05%, поиск прекращается. Если вам нужно провести обслуживание узла или выполнить обновления, наличие нескольких компьютеров поможет повысить доступность. 1006 *

    Вероятно, есть еще много вещей, которые следует учитывать, но это полностью зависит от вашего приложения, бюджета, соглашений об уровне обслуживания и c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...