2013-01-15 2 views
4

Вариант использования: 100 серверов в бассейне; Я хочу запустить службу ZooKeeper на каждом сервере и серверах (клиент ZooKeeper) будет использовать кластер ZooKeeper (чтение/запись). Тогда нет единственной точки отказа.Максимальные серверы в кластере ансамблей ZooKeeper?

Возможно ли такое решение для использования? Как насчет производительности?

Что делать, если в бассейне 1000 серверов?

ответ

3

Если вы просто пытаетесь избежать ошибки , вам понадобятся только 3 сервера. В ансамбле 3-х узлов один отказ может быть допущен с остальными двумя узлами, образующими кворум. Чем больше серверов, тем хуже производительность записи. И 100 серверов - это крайность этого, если ZK может даже справиться с этим.

Однако, если у вас есть много клиентов, то никаких проблем. Zookeeper имеет активные развертывания со многими более чем 1000 клиентами. Если вы обнаружите, что вам нужно больше серверов для обработки вашей нагрузки на чтение, вы всегда можете добавить Observers. Я настоятельно рекомендую вам присоединиться к list serve. Это отличный способ быстро ответить на ваши вопросы и, скорее всего, гораздо более подробно, чем кто-либо даст вам ТАК.

+0

Спасибо, Джаред. Мой случай немного особенный: каждый сервер в этом пуле может отключиться в любой момент (дуэт к политике энергосбережения). Поэтому теоретически я должен запустить службу ZooKeeper на каждом сервере, чтобы предотвратить сбой кластера. Кажется, лучшим решением является запуск службы ZooKeeper из пула. Но эта схема не соответствует нашему продукту. Здесь я надеюсь, что кто-то скажет мне максимальное количество серверов в кластере ансамблей ZooKeeper: насколько приемлемо ли значение для 100? 1000? – zhigang

+0

@zhigang Я очень рекомендую попросить в списке служить (ссылка в моем сообщении). Вы получите именно тот ответ, который вы ищете. И если ZK не поддерживает его, вы получите отличные предложения о том, как достичь своей конечной цели. – JaredC

2

Возможно, zookeeper - это не тот инструмент?

Hazelcast делает, что вы хотите, думаю. Вы можете сотнями сверстников, и если хозяин потерян, новый выбирается из всех сверстников.

Вам не нужно использовать весь материал. Вы можете просто использовать карты или просто рабочие пулы или просто примитивы синхронизации или просто сообщения и т. Д.