云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

服务器_mysql创建用户和数据库_返利

小七 141 0

在本博客中,我将为您提供有关SAP云平台、云铸造环境上多租户背后的体系结构的见解。我将从多租户术语的简短定义开始,介绍租户(应用程序消费者)是如何登上或订阅多租户应用程序的,然后我将转到多租户应用程序运行时,并以卸载或取消订阅租户作为结束。我还将概述开发多租户服务时应考虑的其他方面。

已经有一个关于如何在Cloud Foundry环境中在SAP云平台上开发多租户应用程序的博客。如果您还不熟悉它,我强烈建议您先阅读它,因为它会让您很好地理解如何在SAP云平台上为您的业务应用程序实现多租户。

多租户是指软件架构,租户共享相同的技术资源,但要保持数据分离,并隔离每个租户的身份和访问管理。

在谈到多租户时,我们需要区分两种租户:

平台即服务(PaaS)租户:应用程序提供商获得独立的平台资源来开发自己的业务应用程序,它们可以自己使用,也可以提供给其他SaaS租户的多租户SaaS应用程序。软件即服务(SaaS)租户:这些租户访问他们订阅的多租户应用程序或服务。在SAP Cloud Platform、Cloud Foundry environment中,您可以构建和部署服务于多个使用者的应用程序的单个实例。

两个租户都表示为子帐户,PaaS租户还可以访问特定于平台的运行时环境,例如Cloud Foundry。

在开发多租户应用程序之后,开发人员必须将其注册到SaaS资源调配服务(SaaS registry),以便SaaS租户可以订阅它。您可以在SAP帮助门户上的"向SaaS Provisioning服务注册多租户业务应用程序"中找到详细信息。

现在,当您的应用程序可供SaaS租户订阅时,必须通知应用程序有新的使用者。有关如何创建SaaS订阅的更多信息,请参阅SAP帮助门户上的"在Cloud Foundry环境中使用业务应用程序订阅入门"。

作为应用程序SaaS租户注册的一部分,提供了两个回调:

getDependencies:这提供了对多租户重用服务的依赖关系。onSubscription:这允许应用程序在应用程序中执行租户设置。实施取决于应用程序使用的分离方法。

租户入职流程如下:

从消费者子账户开始订阅SAP云平台。递归地调用getDependencies()回调,首先调用应用程序,然后调用所有依赖服务及其依赖项。在构建完完整的依赖关系树之后,将调用onSubscription()回调,从最低的叶开始,直到它到达应用程序。在租户特定的持久化之后,如果需要,并且创建了配置,应用程序将返回SAP云平台驾驶舱中提供的租户特定的应用程序URL。

要获得有关如何在SAP云平台驾驶舱中创建SaaS订阅的更多信息,阅读SAP Help Portal上Cloud Foundry环境中的业务应用程序订阅入门。

我前面提到的博客描述了根据您的需求为租户分离数据的不同选项。对于大多数场景,我们建议选择模式分离,因为它在分离级别和相关成本之间提供了最佳折衷。在下一个图中,您可以看到如何使用SAP HANA实现模式分离:

对于每个租户,都有一个单独的HANA HDI容器。HDI容器为数据库构件的模型驱动部署提供了数据库模式和额外的支持。这些HDI容器必须在应用程序中动态映射,这意味着您必须将子帐户标识符映射到相应的HDI容器。如果您的应用程序还需要保留所有租户共享的数据,我们建议使用一个单独的HDI容器来承载此数据。

有关HDI的更多信息,您可以阅读SAP帮助门户上的HDI容器。

要读取或存储租户特定的数据,应用程序必须在运行时获取子帐户标识符。因此,每个租户都有自己的URL,啥叫人工智能,淘客返利,遵循多租户应用程序开发模式:

您必须在特定于应用程序的应用程序路由器中配置此模式。有关此任务的更多信息,请参阅SAP帮助门户上的应用程序路由器多租户。

此外,您必须在xs中配置租户模式-安全.json在这种模式下,订阅此应用程序的所有子帐户中的客户机机密都是相同的。它需要approver变量"TENANT\u HOST\u PATTERN"(详见上文)和相应的路由进行映射。

最后,您必须使用Cloud Foundry命令行界面(cf CLI)将特定于租户的路由设置到您的应用程序:

以供生产使用,您将使用稍微不同的模式,将租户和应用程序名称分隔为不同的子域。因此,大数据怎么样,您不必为每个租户创建路由,但可以使用通用通配符路由。但是,它还要求您为应用程序创建自定义证书,这是您在开发过程中通常不会执行的操作。

当您的客户的用户在浏览器中访问您的应用程序时,应用程序路由器从这个URL派生租户,并调用负责最终用户身份验证的租户感知UAA(用户帐户和身份验证服务)。UAA读取租户,查找为此租户配置的相应UAA标识区域,并将身份验证委托给在那里配置的IdP。然后它创建一个jsonweb令牌(JWT),其中包含此租户的子帐户id、当前用户和数字签名用户的授权范围。然后,JWT被发送回应用程序路由器,并从那里发送到应用程序。当应用程序在内部调用依赖服务时,它将使用包含同一租户的JWT再次验证此调用,从而租户将通过整个堆栈传播。有关授权管理的更多详细信息,请阅读SAP Help Portal上Cloud Foundry环境中的授权和信任管理。

每当您的多租户应用程序需要全局唯一的子帐户标识符时,它可以从JWT读取它。

详细的流程如下: