1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/WeBank-DeFiBus

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
4-invoke-service-nearby.md 3.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 12:39 96228eb

4. Сервис «поблизости»

Чтобы обеспечить высокую доступность, сервисы обычно распределяются по нескольким дата-центрам или регионам. Мы хотим, чтобы сервисы могли вызывать друг друга локально, что позволит уменьшить задержки при доступе к сети между дата-центрами или регионами. Для этого DeFiBus добавил атрибут региона в Broker и клиент, чтобы идентифицировать, к какому региону принадлежит экземпляр.

Для Producer сообщения будут отправляться в первую очередь в кластер Broker в том же регионе; для Consumer — в первую очередь прослушивать Queue в том же регионе. Если в каком-либо регионе нет экземпляров Consumer, которые слушают, то экземпляры Consumer из других регионов будут слушать через границы регионов.

Отправка поблизости

При создании Producer с помощью DeFiBusClientConfig.setClusterPrefix("your region") можно указать регион, в котором находится экземпляр Producer. Producer будет выбирать Queue в качестве цели отправки сообщения каждый раз, когда отправляет сообщение. Когда включена отправка поблизости, Producer сначала выбирает Queue в том же регионе, а затем, если в этом регионе нет доступных Queue, выбирает Queue из другого региона.

Прослушивание поблизости

Прослушивание поблизости означает, что каждый регион имеет только своих собственных Consumer, которые прослушивают и потребляют Queue. Только когда в каком-то регионе нет Consumer, подписанных на определённую тему, Consumer из других регионов, подписавшихся на эту тему, будут прослушивать и потреблять эти Queue через границы регионов. Хотя Consumer потребляет данные локально в одном регионе, они поддерживают соединение через границы регионов с помощью пульса, чтобы быть готовыми принять потребление данных в любое время.


Ссылки:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/WeBank-DeFiBus.git
git@api.gitlife.ru:oschina-mirror/WeBank-DeFiBus.git
oschina-mirror
WeBank-DeFiBus
WeBank-DeFiBus
develop