1

目前我有一个在 laravel 上运行的项目,我想使用 nats 作为我们的消息代理。我尝试使用https://github.com/flownative/nats但我的问题是我应该将 pub subs 代码放在哪里?

$nats->publish('foo', 'Hello World');

// Simple asynchronous subscriber
$nats->subscribe('foo', function($message) {
    printf("\nReceived a message: %s\n", $message->getBody());
}); 

我尝试使用 PHP 工匠队列,但这不起作用,因为它必须通过调用调度方法来触发。如果是这样,我应该在哪里调用调度方法?提前致谢。

4

1 回答 1

0

Laravel 中没有支持 NATS 的社区包(据我所知),我认为使用 NATS PHP 包不会解决您尝试构建为 Pub/Sub 的基础设施,因为您必须包装 NATS php在 Larval 的自定义队列驱动程序中打包。

我强烈建议将 SNS/SQS 用于 Pub/Sub 基础设施,幸运的是我已经为此制作了一个包。它非常易于使用,您可以在其中定义订阅者类和发布者(如果需要),它还支持标准和 FIFO SQS/SNS。

看看:https ://github.com/amranidev/micro-bus

于 2021-05-02T22:04:58.100 回答