peers обязательно должен быть включён self, и должно быть перечислено минимум 2 узла (иначе паника при запуске).socket.bind (по умолчанию 0.0.0.0), а адрес объявления — это self. Если узел находится за файрволом/NAT, в self нужно указать адрес, по которому другие узлы реально смогут подключиться.self. В кластерном режиме переменная окружения PORT игнорируется, и портом прослушивания становится порт из self.peers — это приоритет повышения (первый в списке — наивысший приоритет).# ticketing.toml на 10.0.0.1
[cluster]
self = "10.0.0.1:5225"
peers = ["10.0.0.1:5225", "10.0.0.2:5225"]# ticketing.toml на 10.0.0.2 — peers те же, отличается только self
[cluster]
self = "10.0.0.2:5225"
peers = ["10.0.0.1:5225", "10.0.0.2:5225"]Клиент (брокер) регистрирует оба адреса, чтобы при сбое происходило автоматическое переключение:
TicketBroker::connect(&["10.0.0.1:5225", "10.0.0.2:5225"]);Генератор реальной команды развёртывания см. на странице Развёртывание Ticketing Server.