Как реализовать удаленное взаимодействие в Ruby через прокси-сервер?

Мы рассматриваем использование Ruby для проекта клиент-сервер (не на основе веб-интерфейса), где и клиент, и сервер будут написаны на JRuby. Клиент (Windows) будет находиться за корпоративным брандмауэром с прокси-сервером, а сервер будет находиться в облаке. Мы знаем, что DRb делает удаленное удаленное взаимодействие от ruby-to-ruby, но неясно, работает ли DRb через прокси-сервер. Есть ли способ сделать это?

В качестве альтернативы, поскольку мы используем JRuby, мы подумали об использовании Java RMI поверх HTTP

1 ответ

Решение

Я думаю, что вам лучше всего написать несколько простых тестовых сценариев и попробовать их перед тем, как совершать те или иные действия. Вокруг много разных прокси-серверов, и сложно ответить на ваш вопрос однозначно. Если (как я подозреваю) вы используете в корпоративной среде, возможно, вам нужен также брандмауэр или три (которые могут блокировать "нестандартные" порты - плохо для DRb) или блокировать процессы сервера (проблема, если вы хотите использовать двустороннюю связь).

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

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