用于云部署的Hibernate数据库configuration

我对云计算和微服务相对比较陌生。 我知道aws ec2ansibledocker swarm这样的技术如何在云中提供和创build一个服务集群,但是我不知道如何configuration云环境的软件(当不同服务的连接参数是IP未知,直到部署)。

我习惯于使用裸机环境和静态IP地址进行Spring启动和hibernate,在此将代码服务地址作为pom.xml中的属性,并根据此特定环境的configuration文件将其注入到各种configuration文件中。 最后,一切都是硬编码的地方。

现在考虑一下情况,我将从云中调配环境的整个过程自动化,并使用一个可靠的脚本等来部署软件,服务和数据库。 这个过程会给我带有随机IP的服务器实例。 它将在一次运行中部署所有必要的基础设施组件。

现在,在编译时服务位置未知的情况下,如何configuration软件(数据库连接等)呢? 我应该使用DNS吗? 如果我这样做,那么当我部署到不同的云时会发生什么? 有没有更多的dynamic的方式来configurationDocker群上的云环境的Spring应用程序,也许是利用swarm在覆盖networking上pipe理的一些环境variables?

或者,当我在想象中想象的时候,尝试咬下太多蛋糕,通过云平台和正确的工具,可以将整个基础架构部署到任何环境,只需点击一下,从编译到function,容错服务任何硬编码,一切都自动化?