用于云部署的Hibernate数据库配置

用于云部署的Hibernate数据库配置,hibernate,amazon-web-services,docker,amazon-ec2,cloud,Hibernate,Amazon Web Services,Docker,Amazon Ec2,Cloud,我对云计算和微服务比较陌生。我知道aws ec2、ansible和docker swarm等技术如何在云中提供和创建服务集群,但我仍然不知道如何为云环境配置软件(不同服务的连接参数,当IP在部署前未知时) 我习惯于使用Spring boot和hibernate来处理裸机环境和静态IP地址,在这些环境中,我将服务地址编码为pom.xml中的属性,并根据特定环境的配置文件将它们注入各种配置文件中。最后,一切都是硬编码的 现在考虑一下这种情况,在这里我将从云提供环境的整个过程自动化,并用一个可编辑的脚

我对云计算和微服务比较陌生。我知道aws ec2、ansible和docker swarm等技术如何在云中提供和创建服务集群,但我仍然不知道如何为云环境配置软件(不同服务的连接参数,当IP在部署前未知时)

我习惯于使用Spring boot和hibernate来处理裸机环境和静态IP地址,在这些环境中,我将服务地址编码为pom.xml中的属性,并根据特定环境的配置文件将它们注入各种配置文件中。最后,一切都是硬编码的

现在考虑一下这种情况,在这里我将从云提供环境的整个过程自动化,并用一个可编辑的脚本部署软件、服务和数据库。这个过程会给我随机IP的服务器实例。它将在一次运行中部署所有必要的基础架构组件

现在,在编译时服务的位置未知时,如何配置软件(数据库连接等)?我应该使用DNS吗?如果我这样做了,那么当我部署到不同的云时会发生什么?在docker swarm上是否有一些更动态的方式来为云环境配置Spring应用程序,也许可以利用swarm在覆盖网络上管理的一些环境变量


或者当我在脑海中想象,有了云平台和合适的工具,可以通过单击将整个基础设施部署到任何环境中,从编译到功能性、容错服务,而无需任何硬编码,一切都是自动化的时,我想是这样的,这个问题可能太大而无法回答。DNS通常是正确的方式。每个服务(数据库/etc)都应该有一个稳定的DNS名称,其他服务可以找到它。DNS条目解析为什么IP地址并不重要。我认为,问题可能太大,无法回答。DNS通常是正确的方式。每个服务(数据库/etc)都应该有一个稳定的DNS名称,其他服务可以找到它。DNS条目解析到的IP地址应该无关紧要。