Mongrel2 send_spec и recv_spec

Я только начал возиться с Mongrel2, все учебники шли отлично, пока я не начал указывать обработчики Mongrel2 send_spec и recv_spec на адрес, отличный от localhost, например, на второй компьютер в сети.

Я начал получать эти ошибки:

errno: Resource temporarily unavailable) Failed to bind send socket trying again for: tcp://xxx.xxx.xxx.xxx:49901

Мой вопрос: когда есть два узла A и B, где A - сервер Mongrel2, а B - "рабочий" для одного из обработчиков A, какие адреса будут помещаться в send_spec и recv_spec файла.conf A?

Извините, если это наивный вопрос, это меня так запутало.

1 ответ

Жми (send_spec) и SUB (recv_spec) порты на NodeA (Mongrel2 Server) являются связующими сокетами, поэтому вы должны использовать tcp://*:<port>, Используя * По адресу вы можете получать соединения с любого интерфейса.

Ваш код обработчика - там, где нужен конкретный адрес. Я использую контейнеры Docker для запуска своих обработчиков Python, поэтому мне всегда нужно использовать конкретный IP-адрес для контейнера, на котором запущен сервер Mongrel2 tcp://172.16.1.?:<port>,

Если все это правда:

  • Контейнеры Docker могут общаться друг с другом
  • Вы используете правильный IP и порты
  • Спецификации PUSH и SUB получают со всех интерфейсов

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

Другие вопросы по тегам