可以接受适配器的各种云原生基础客户端。

dev-main 2022-05-13 13:14 UTC

This package is auto-updated.

Last update: 2024-09-14 19:42:29 UTC


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,您就会“锁定”在这个供应商上,这是一个坏现象。您不希望您的应用程序在没有进行重大改动的的情况下,因为基础设施出现问题而被困。

本系统的目标是帮助防止这种锁定,让您在无需冒险使应用程序成为基础设施平台的人质的情况下,享受转向云原生的好处。