我正在开发spring引导应用程序,我的后端端使用ssh隧道连接到数据库(这部分是必需的,不能更改)。我有三种部署应用程序的方法:
哪一个是最好的选择,为什么?
发布于 2018-04-11 12:57:39
你应该选择备选方案2:
创建war并在独立的tomcat上部署(使用ssh隧道外部应用程序作为linux服务)
您希望您的SSH隧道由底层操作系统管理,而不是由您的应用程序管理。这样,SysAdmin就可以委派它(最好使用配置管理工具)。
您开发的应用程序不应该自己考虑管理系统任务,比如将隧道持久化到后端。
这与处理“后台服务”的“12要素应用程序”方法是一致的:
十二因素应用程序的代码不区分本地服务和第三方服务。对于该应用程序,两者都是附加的资源,通过存储在配置中的URL或其他定位器/凭据访问。部署十二因素应用程序时,应该可以使用第三方(如Amazon )管理的本地MySQL数据库,而不会对应用程序的代码进行任何更改。
因此,如果您的代码库与创建SSH隧道或持久化系统连接有关,则您做错了;)
https://serverfault.com/questions/907148
复制相似问题