phpcloudnative / clients
可以接受适配器的各种云原生基础客户端。
dev-main
2022-05-13 13:14 UTC
Requires
- php: 7.4.0
README
活跃开发 - 请勿使用
该系统正在积极开发中。将会出现破坏性变更。不建议使用。
描述
一个适配器系统,可以在不锁定供应商的情况下使用云原生架构。
如何使用
该架构遵循适配器模式。您需要包含一个遵循各种服务接口的库。所有接口都位于相关服务命名空间内。
1. 添加基础PHPCloudNative客户端包
composer require phpcloudnative/clients@^1.0.0
2. 添加云适配器包
(例如:Aws)
composer require phpcloudnative/aws@^1.0.0
3. 初始化并在您的应用程序中使用
require_once "vendor/autoload.php"
// Create a new queue
// Be careful with the config object. You will need it
// but you can & likely will put infrastructure specific configuration
$queue = new PHPCloudNative/Clients/Queue(
PHPCloudNativeAWS::class,
[
"name" => "sample queue",
"attributes" => [
"DelaySeconds" => 5,
"MaximumMessageSize" => 3050
]
]
);
$queue->send("sample message", "queueName", [
'delay' => 10,
'attributes' => [
'title' => 'hitchhikers guide.'
]
]
]);
问题
这是为什么?
许多应用程序正在转向云原生,以利用各种基础设施服务,而不是在您管理的服务器实例上运行所有内容。转向云原生时,您可以获得许多好处,例如将基础设施相关的问题交给您的基础设施平台,降低成本并简化扩展。另一方面,基础设施提供商给您他们的SDK,您就会“锁定”在这个供应商上,这是一个坏现象。您不希望您的应用程序在没有进行重大改动的的情况下,因为基础设施出现问题而被困。
本系统的目标是帮助防止这种锁定,让您在无需冒险使应用程序成为基础设施平台的人质的情况下,享受转向云原生的好处。