Назад | Перейти на главную страницу

Развертывание приложения с SSH-туннелем

Я разрабатываю приложение с весенней загрузкой, в котором моя серверная часть подключается к базе данных с помощью туннелирования ssh (эта часть является обязательной и не может быть изменена). У меня есть три способа развернуть приложение:

Какой лучший выбор и почему?

Вам следует выбрать вариант 2:

создание войны и развертывание на автономном tomcat (с туннелем ssh вне приложения в качестве службы Linux)

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

Приложение, которое вы разрабатываете, не должно заниматься управлением системными задачами, такими как сохранение туннеля на серверную часть.

Это согласуется с «12-факторное приложение» способ обращения с «вспомогательными услугами»:

Код для приложения с двенадцатью факторами не делает различий между локальными и сторонними сервисами. К приложению оба являются подключенными ресурсами, доступ к которым осуществляется через URL-адрес или другой локатор / учетные данные, хранящиеся в config. Развертывание приложения с двенадцатью факторами должно иметь возможность заменять локальную базу данных MySQL на базу данных, управляемую третьей стороной (например, Amazon RDS), без каких-либо изменений в коде приложения.

Итак, если в вашей кодовой базе есть что-либо, связанное с созданием туннеля SSH или сохранением системного соединения, вы делаете это неправильно;)