用户在云代工厂提供的服务

时间:2016-12-14 08:32:33

标签: cloud cloudfoundry pivotal-cloud-foundry

我阅读了关于用户提供的服务的云代工文档,但不确定我是否得到了它以及如何使用它。

> 1. my question is what is the use case for it?

(据我所知,该服务在市场上不可用......)

> 2.when it recommended to use it and when not ?
>  
> 3. There is some real world example for it which I can use to create, I mean some  E2E guide ?

2 个答案:

答案 0 :(得分:3)

  
      
  1. 我的问题是它的用例是什么?
  2.   

这基本上是一个包罗万象。它旨在处理环境中服务代理未涵盖的任何内容。此外,它还为您提供了将信息传递到应用程序的额外灵活性。

  

2.当它建议使用时,何时不使用?

如果您有可用的服务代理,请使用它。 CF开发人员可以更轻松地使用服务代理,他们还可以提供额外的元数据,例如您无法使用用户提供的服务设置的标签和标签。这些额外的元数据使应用程序更容易检测和处理服务。

例如:如果您的应用程序正在寻找绑定的MySQL服务(即搜索特定类型服务的所有绑定服务),您通常会查看标签&标签以通用方式找到它。如果绑定用户提供的服务,则不会获得此信息,因此您必须查看服务数据(即,是否存在URL,它看起来是什么样的等等)或模式匹配名称以进行区分。

  
      
  1. 我可以用它创建一些现实世界的例子,我的意思是一些E2E指南?
  2.   

使用用户提供的服务的最简单和最常见的情况是绑定没有可用服务代理的服务。这可能是您创建的自定义服务,也可能只是CF安装/提供商不支持的服务。

由于用户提供的服务是将数据绑定到应用程序的通用机制,因此您也可以将其用于其他内容。

例如:

  1. 服务实例的范围限定为组织& amp;空间。如果您想从一个组织和一个组织共享服务空间与不同的组织和在第二个组织和空间中,您可以创建用户提供的服务。从第一个组织传递凭证的空间空间。

  2. 将应用程序转换为服务。也许您在PCF上部署了一个微服务作为应用程序。如果您希望其他应用使用您的微服务,您可以创建用户提供的服务,并将您的微服务的URL传递给消费应用。当然,你也可以采用其他方式,但这是在CF上实现它的一种非常简单的方法。

  3. 将任何数据传递给多个应用。假设您有一个密钥或通用设置,您希望将其传递给已在CF上部署的10个应用程序。您可以通过为所有10个应用程序设置相同的env变量来实现此目的,或者您可以将数据放入服务并将服务绑定到所有10个应用程序。这样可以更轻松地更改数据(更新一个服务与10个应用程序),并且可以更好地扩展(想想更新100个应用程序的env变量)。

  4. 我确信还有其他用例。关键是它们是CF的灵活部分,您可以使用它在应用程序之间共享数据。

答案 1 :(得分:1)

使用CLI在Pivotal Cloud Foundry中创建用户提供的服务

cf cups oracle-db -p "url, username, password"
url> jdbc:oracle:thin:@database_host_name:port/sid    
username> admin
password> admin
Creating user provided service oracle-db in org
OK

在Spring启动应用程序中访问服务

 datasource:
    url: ${vcap.services.oracle-db.credentials.url}
    username: ${vcap.services.oracle-db.credentials.username}
    password: ${vcap.services.oracle-db.credentials.password}

还将服务名称放在清单文件

services: 
   - oracle-db

如果你需要完整的演示弹簧启动应用程序,下面是链接 https://github.com/rathore-girdharsingh/pcf-oracle-user-provided-service