Как запустить два сервиса с разными узлами с помощью voltdb - PullRequest
0 голосов
/ 23 октября 2018

У меня есть кластер из трех узлов, настроенный для voltdb.В настоящее время запущено 2 приложения, и весь трафик направляется только на один узел.(Только один сервер)

Поскольку у нас есть 3 кластера (3 узла), и данные реплицируются вокруг всех узлов.Могу ли я запустить один сервис на одном узле и другой сервис на другом узле?Это возможно?

1 Ответ

0 голосов
/ 23 октября 2018

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

Однако рекомендуетсяподключать приложения ко всем узлам кластера, чтобы они могли отправлять запросы в кластер более равномерно.В зависимости от того, какой клиент используется, существуют оптимизации, которые отправляют каждый запрос оптимальному серверу в зависимости от того, какой раздел задействован.Это часто называют «клиентской близостью».Клиенты также могут просто отправлять на каждый узел в циклическом стиле.Как клиентская привязка, так и циклический перебор намного эффективнее, чем просто отправка всего трафика на 1 узел.

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

Полное раскрытие информации: я работаю в VoltDB.

...