Как работает кластер finagle kestrel
В нем говорится, что мы можем использовать finagle ServerSet с Zookeeper для создания кластера.
- Должен ли я использовать сервер сборки finagle для запуска кластера пустельги? Или кластер может быть построен только с клиентом finagle.
- Какой алгоритм распределения очереди в кластере?
1 ответ
1 Нам нужно использовать пустельгу в качестве библиотеки вместо запуска оригинальной пустельги. Код серверной базы на основе библиотеки finagle.
Мы можем использовать ServerSet на стороне клиента для ссылки на кластер kestrel, зарегистрированный в ZooKeeper.
https://github.com/robey/kestrel/blob/master/docs/guide.md
На стороне сервера kestrel, если задано необязательное поле zookeeper в KestrelConfig, kestrel попытается использовать данную конфигурацию для присоединения к логическому набору серверов kestrel. Хост ZooKeeper, порт и другие параметры подключения описаны здесь: ZooKeeperBuilder
Серверы Kestrel присоединяются к 0, 1 или 2 наборам серверов в зависимости от их текущего статуса.
2 Отправитель сообщения собирается отправить сообщение на один случайно выбранный сервер пустельги. Получатель сообщения будет прослушивать все серверы kestrel и получать уведомление, когда любой сервер kestrel получил сообщение. Таким образом, одна и та же очередь распределяется по всему серверу и без алгоритмов.