gpt4 book ai didi

java - Pivotal Cloud Foundry - 托管服务与用户定义服务

转载 作者:行者123 更新时间:2023-12-02 04:02:28 26 4
gpt4 key购买 nike

过去 2-3 个月我一直在使用 Cloud Foundry,并且遇到过用户定义和托管服务。我的理解是,如果托管服务伴随着服务代理所需的实现,而如果是用户定义的服务,则定义服务的人必须负责实现。我想了解使用托管/用户定义的服务比在应用程序中定义连接详细信息(或在属性文件中将其外部化)有什么优势

最佳答案

我相信使用服务绑定(bind)方法的总体优势是应用程序不必为其部署到的每个可能的环境拥有多个配置文件。

具体来说,如果您有开发、测试、阶段和生产环境,您可能会有一组反射(reflect)每个环境的自定义 URL/IP/端口/凭据的配置。您还需要某种方法来触发使用正确的环境配置。在 Spring Boot 方法中,您通常使用 Spring Profiles 来定义和激活这些配置。但是,这通常意味着您的应用程序提前与所有必需的配置文件配置捆绑在一起。

使用 Cloud Foundry,连接/服务绑定(bind)详细信息是通过已部署的云平台本身注入(inject)的。这意味着您实际上只需要定义一个适用于您必须支持的所有环境的“云”配置文件。

这种方法可以说有一些好处:

  • 您可以适应新环境,而无需重建/重新配置应用程序本身。例如,如果您对 Test2 有短期需求,则可以轻松创建和定义新空间和服务绑定(bind),而无需重建应用程序。从技术上讲,您可以通过其他方式来实现这一点 - 正如您所建议的通过外部化配置。我对 CF 的理解是,这并不是真正值得鼓励的做法(并且可能不容易实现,除非您将所有内容外部化为独立的环境变量)。

  • 您不必将凭据存储在应用程序配置中。这可以说是一种安全优势,因为应用程序开发人员永远不必知道他们绑定(bind)到本地环境之外的任何服务的连接详细信息。这对您可能重要也可能不重要。

  • 您也许能够跨环境使用不同的支持服务实现(可能是为了避免非产品中的高许可成本?)。我不喜欢这种方法,所以我并不真正认为它有什么好处。

如果我还缺少其他潜在优势,希望更多接触 Cloud Foundry 的其他人能够参与进来。

另外,我会看看这个项目:http://cloud.spring.io/spring-cloud-connectors/更仔细地看看您是否可以通过该方法获得任何额外的好处。

关于java - Pivotal Cloud Foundry - 托管服务与用户定义服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34759332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com