如果我想让我的 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,一个没有。
我想知道,如果将来我想通过将我的 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,一个没有。