如果我想让我的 Laravel 应用程序位于负载均衡器下,我应该将 Redis 与网络服务器分开吗?

Should I separate Redis from the webserver if I would like to have my Laravel application under a Load Balancer?

我想知道,如果将来我想通过将我的 Laravel 应用程序置于负载平衡器下来处理大量流量。过程如下?

1 个负载均衡器将流量分配到:

2 VPS。其中每一个都有相同的 Laravel 应用程序。

每个网络服务器可以连接: 1 VPS 对于 MYSQL

这是我的疑问,我是否也应该将 Redis 分开,例如 1 VPS 用于 Redis 并使用 Laravel 队列维护我的作业?

或者 Redis 和 Laravel 队列守护进程是否仍应位于 2 个相同的 Web 服务器中的每一个上?

我认为更好的方法是在您的一个 ECS 实例上安装和设置 redis。

之后,您应该在 .env 中设置您的 Redis 配置 (REDIS_HOST,REDIS_PORT and REDIS_PASSWORD) 以在两个 ECS 实例上连接该 ECS 实例。所以会变成下面这样:

A ECS -- A ECS redis service B ECS -- A ECS redis service

这样一来,您就不必再额外架设一台可能会花费更多的ECS,同时又可以达到您想要的效果。这种方法的一个缺点是您可能需要为您的 ECS 设置 2 个映像,一个配置了 Redis,一个没有。