gpt4 book ai didi

docker - 负载均衡器背后的Laravel事件-如何使事件对自动伸缩组中的所有服务器可见

转载 作者:行者123 更新时间:2023-12-02 19:46:12 24 4
gpt4 key购买 nike

我有一个运行Laravel 6.1的应用程序。有客户端通过laravel websockets连接到它并监听事件。我有一个外部服务,该服务将发布请求发送到此服务器,该服务器随后将引发事件,并且websocket客户端会看到它。我正处于开发阶段,尚未部署,这是我目前正在研究的内容。我使用Docker,所以有一个nginx容器,一个php容器和一个Mysql容器(在生产中,这些容器将使用RDS)
这在开发中效果很好,但是计划是使用Elastic Beanstalk在ECS中进行部署,因为它可以为每个EC2实例启用多个容器。我打算使用负载平衡器自动扩展这些实例,所以我的问题是我如何使传入的事件在所有服务器上都可见并可见? 例如,发布请求可能会命中一个实例,并且连接到该实例的客户端将看到引发了该事件,但是连接到另一个实例的客户端将不会看到引发的事件。这个准确吗?我以为事件必须发送到某种“队列”,并由所有实例监视,但是不确定如何使用Laravel来实现,或者不确定是否有更简单的更快方法。

最佳答案

根据评论。
提出的解决方案涉及使用sns而不是SQS。
原因是sns允许同时将消息传递给多个收件人。相反,除非在fan out体系结构中使用,否则SQS设计为仅将消息传递给一个收件人。

关于docker - 负载均衡器背后的Laravel事件-如何使事件对自动伸缩组中的所有服务器可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63209767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com