Zookeeper против Eureka для микросервисов?

Я собираюсь реализовать оркестровку набора микросервисов в моем приложении. Два широко используемых инструмента, которые я нашел vs Apache Zookeeper и Netflix Эврика.

может ли кто-нибудь дать мне сравнение, основанное на фундаментальных различиях, которые имеют эти две службы?

есть ли другой мощный инструмент?

2 ответов


Я собираюсь реализовать оркестровку набора микросервисов в моем приложении.

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

есть ли другой мощный инструмент?

вы должны посмотреть на kubernetes, который, кажется, является стандартом в оркестровке в эти дни. Он имеет много дополнительных преимуществ (включить масштабируемость, самоисцеления и т. д.). См. следующие ссылки:

относительно сравнения zookeeper, eureka и kubernetes:

  • Zookeeper-распределенное хранилище значений ключей. Его можно использовать в качестве основы для реализации обнаружения служб (аналогично etcd).
  • Eureka-это в первую очередь балансировщик нагрузки (распределение клиентских вызовов членам приложения группа.)
  • Kubernetes-это решение для оркестровки контейнеров, которое включает развертывание, обнаружение и самовосстановление служб. Для получения полного списка функций, проверьте ссылку выше. Обнаружение службы в kubernetes основано на dns в виртуальной сети, которую она охватывает и строит на etcd.
  • Consul (упомянутый в другом ответе) - это платформа обнаружения служб с интерфейсом REST и некоторыми дополнительными функциями. Он имеет свое собственное внутреннее распределенное ключевое значение магазин.

другой инструмент может быть консул.

Eureka-это в основном инструмент обнаружения сервисов, предназначенный для использования в инфраструктуре AWS.

Zookeeper-это универсальный распределенный магазин ключей / значений, который может использоваться для обнаружения службы в сочетании с куратор-х-открытие базы

вот этой обзор услуг-discovery solutions

вы также можете найти сравнение консул против Эврика против зоопарка здесь.

хотя консул, а также zookeeper-может быть использован не только для обнаружения, но и в качестве ключа / значение магазина, преимущества консула прохладно функции обнаружения службы из коробки

  1. DNS из коробки
  2. удобный RESTful API
  3. healthcheck API из коробки

также consul имеет более распределенный характер: агенты установлены на всех сервисных VMs и таким образом, система имеет более высокую доступность, чем боец. Имейте в виду, что система консула имеет низкая связь между центрами обработки данных.

Zookeeper является зрелым, но слишком общим. Таким образом, вы можете использовать zookeeper не только для обнаружения службы, но и для хранения конфигураций, распределенных блокировок, уведомлений и т. д. Опять же, удобно использовать всю эту функциональность с помощью Curator Framework / Curator Recipes.

Zookeeper использует схему связи master / slave между узлами в группа. Мастер избирается членами кластера. Имейте в виду, что могут быть крайние случаи (например, из-за сетевых проблем), когда в кластере появляется больше 1 master. В этом случае помогает перезапуск кластера.

отличие Eureka от Zookeeper и Consul заключается в том, что Eureka является узкоцелевой системой обнаружения и балансировки нагрузки.

все 3 системы можно интегрировать С весной.