VMware的CloudFoundry服务对PostgreSQL支持

云计算 虚拟化 PostgreSQL
VMware宣布了CloudFoundry项目,一款平台即服务(PAAS)开源解决方案,其预置提供对MongoDB、MySQL及Redis此类服务的支持。最近它将PostgreSQL和RabbitMQ加入到云服务列表中以便为各应用所使用

  今年年初,VMware宣布了CloudFoundry项目,一款平台即服务(PAAS)开源解决方案,其预置提供对MongoDB、MySQL及Redis此类服务的支持。最近它将PostgreSQL和RabbitMQ加入到云服务列表中以便为各应用所使用,同时也提供了一个可运行在单个工作站上的Micro版CloudFoundry。

  将PostgreSQL纳入CloudFoundry还是很有趣的,因为它是一个非常有特色的传统数据库,其受众较之MySQL或MongoDB的用户截然不同。为了更好使用PostgreSQL,cloudfoundry并没有直接使用其正常发布的版本而是在vFabric之上定制了一个版本,这在官方博客上有做解释。(译者注:针对云平台对PostgreSQL做了一些优化。)

  该博客上给了一个样例说明如何利用Spring Roo在一个Java项目中使用PostgreSQL。我们这里介绍另一种可选方案,针对的Java应用是某个基于Spring使用了JPA的WAR。

  假设你的应用已有的Spring上下文初始化内容如:

 

  而META-INF/persistence.xml文件如:

 

  多亏了CloudFoundry的自动配置功能,此应用可以被直接上传到CloudFoundry,完全不用做任何修改。

  PostgreSQL(包括MySQL和其他平台支持的服务)充分利用了Cloudfoundry提供的自动配置功能。在特定条件下,使用了PostgreSQL的某一本地Java应用可以上传到Cloudfoundry而无需修改任何一行代码。

  自动配置利用了Spring核心容器的功能,当下面两个条件都满足的情况下可以生效:

  任一给定的服务类型有且只有一个服务实现。比如,你应该只给自己的应用绑定一个关系型数据库服务(MySQL或PostgreSQL)。

  每个匹配类型对应有且只有一个bean。比如,在你的应用上下文中应该只出现一个数据源bean。

  如果满足上述需求,那Cloudfoundry将会自动拦截你的本地数据源,并使用Cloudfoundry服务来代替那些设置在Spring上下文中的值。

  剩下***要做的就是积极地回答当应用被上传到云上,vmc是何时请求服务绑定的。

  对于更加复杂的应用,Spring 3.1预计能增加一个特殊的云命名空间并提供运行时概要支持。

  查看英文原文:VMware's CloudFoundry Service Gains Support for PostgreSQL

责任编辑:何巍 来源: infoq
相关推荐

2013-11-29 14:24:05

VMware

2013-12-03 09:31:33

VMwareOpenStack云基础架构

2012-10-26 16:54:11

虚拟化云计算VMware

2013-08-28 14:00:48

2014-04-09 18:01:42

京东

2010-09-14 16:54:16

2009-07-06 17:46:25

JSP HTTP服务器

2022-02-22 10:52:21

PostgreSQLZstd压缩能力

2018-09-28 14:37:25

数据库PostgreSQNoSQL

2012-05-14 10:39:19

2012-11-29 10:37:39

VMwarePaaSCloud Found

2014-05-30 10:51:55

PhpStormAngularJS

2011-08-30 09:18:39

EnterpriseD云计算迁移

2009-06-18 10:21:22

Spring的支持Sun GlassFi

2016-06-20 16:42:04

企业云

2017-11-01 14:23:14

DBAPostgreSQL 新亮点

2012-05-11 10:38:15

Cloud Found

2020-09-30 10:43:43

VMware

2014-11-06 09:49:22

CloudFoundrPaaS

2014-11-06 10:46:48

CloudFoundr
点赞
收藏

51CTO技术栈公众号