【问题标题】:What is database instance in cloud foundry?Cloud Foundry 中的数据库实例是什么?
【发布时间】:2019-02-12 05:50:24
【问题描述】:

运行以下命令后,

     $ cf create-service-key mysql-db-service MY-KEY

创建了一个名为 MY-KEY(如下所示)的文件,其键为 name(数据库实例),值为 service-instance-db

{
  "hostname": "w-ns27y31.q-g1444.bosh",
  "jdbcUrl": "jdbc:mysql://w-ns27y31.q-g1444.bosh:3306/service_instance_db?user=ccd64a5aa128fffffffffff26d80&password=eddddddd50g&useSSL=false",
  "name": "service_instance_db",
  "password": "el99ffffffffff",
  "port": 3306,
  "uri": "mysql://ccd64a5aa1284dadab01271693d26d80:el9905261y23b50g@w-ns27y31.q-g1444.bosh:3306/service_instance_db?reconnect=true",
  "username": "ccd64ddddddddd271693d26d80"
}

如果我创建了多个服务密钥文件,则 hostname 和 name 在每个服务密钥文件中保持相同,但用户名和密码会更改


在数据库世界中,我们使用语法创建数据库实例:create DATABASE 语句

一个应用程序在该数据库实例上运行,比如instance1

对于另一个新的不同应用程序,我们创建另一个数据库实例,例如 instance2


1) 键 name 的值 service-instance-db 是数据库实例吗?在服务密钥文件MY-KEY

2) 如果是,那么我们在 mysql-db-service 应用程序上为 Cloud Foundry 上的每个新数据库应用程序创建一个单独的服务密钥文件,但我在服务密钥文件中看到相同的数据库实例名称 service-instance-db。我怎么理解这个?

【问题讨论】:

    标签: database rdbms liquibase cloud-foundry


    【解决方案1】:

    1) 键名的值 some-service-db 是数据库实例吗?在服务密钥文件 MY-KEY

    这实际上取决于服务代理如何处理。通常,运行cf create-service 将创建服务实例,运行cf bind-service 或cf create-service-key 将创建一组可用于访问服务的凭据。

    这取决于经纪人到底发生了什么。运行 cf create-service 可能会导致任何结果,从共享多租户服务中的分区到运行服务集群的一组专用 VM。

    2) 如果是,那么我们在 mysql-db-service 应用程序上为 Cloud Foundry 上的每个新数据库应用程序创建一个单独的服务密钥文件,但我在服务密钥文件中看到相同的数据库实例名称 some-service-db。我怎么理解这个?

    在大多数情况下,服务密钥只是用于访问服务实例的一组新的、可能是唯一的凭据。不过,您需要查看服务代理的文档,以了解具体是如何处理的。

    希望有帮助!

    【讨论】:

    • 多租户服务与多个应用程序具有相同的数据库实例名称有何关系?
    • 有些数据库默认是多租户和独立工作负载的,有些则不是。如果一项服务天生不是多租户的,那么它通常会部署在每个用户有一个完全独立的实例的地方。这样就不会有吵闹的邻居或安全问题。
    • 在查询中添加了更多详细信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多