【问题标题】:Cloudfroundry local MongoDB deploymentCloudfroundry 本地 MongoDB 部署
【发布时间】:2013-03-30 13:43:45
【问题描述】:
我们想用spring和mongodb开始一个项目,最后想把它部署在cloudfoundry上。将有三个不同的应用程序应该绑定到一个 mongodb 服务,即所有三个应用程序都需要访问 mongodb 数据库。
现在我们想使用本地 mongodb 和 tomcat 进行本地开发(而不实际部署到云端),...)因为这样我们可以获得更好的调试功能、热部署等...(这甚至可以通过 cloudfoundry 实现吗?)如何我可以配置我的 Spring 应用程序,使其在本地部署时使用本地安装的 mongodb 并绑定到 cloudfoundry 中部署的 cloudfoundry mongodb 服务吗?
这是在本地开发/部署并最终部署到云端的好主意吗?
问候
【问题讨论】:
标签:
java
spring
deployment
web-deployment
cloud-foundry
【解决方案1】:
基于Cloud Foundry 的应用程序的设想开发模型是使用所谓的 Micro Cloud Foundry 来满足您的本地开发需求,目前/通常是基于虚拟机 (VM) 的单节点,但除此之外“在一个盒子里”完成 Cloud Foundry 安装。
- 这种方法的唯一缺点是(默认情况下)您总是需要求助于远程调试技术(即使在本地/离线开发时),而不是例如更改代码并重新加载浏览器方法是许多动态语言开发人员习惯享受的。
- 这是否重要在很大程度上取决于您的开发
过程,但可以公平地说,这种方法有利于
基于单元测试、持续集成等的更精细/成熟的编码技术 - 鉴于您指定 Java/Spring 作为您的目标语言/框架,您应该为此做好充分准备...
Cloud Foundry 端点定位
一旦您有了这样的虚拟机,您只需切换目标 Cloud Foundry 端点并以其他方式相同的方式部署到任一端点,即 Cloud Foundry 运行时会像往常一样自动处理与相应服务的绑定,参见例如Targeting Cloud Foundry:
云中的目标 Cloud Foundry:
prompt$ vmc target api.cloudfoundry.com
以在本地虚拟机上运行的独立 Micro Cloud Foundry 为目标:
prompt$ vmc target api.<domain>.cloudfoundry.com
Micro Cloud Foundry 变体
大多数 Cloud Foundry 供应商提供此类 Micro Cloud Foundry VM 的自定义变体,例如: