gpt4 book ai didi

php - 在 Laravel 中配置高可用的 Redis 集群

转载 作者:IT王子 更新时间:2023-10-29 06:03:05 25 4
gpt4 key购买 nike

我正在尝试更新我的 Laravel 应用程序,以便 Queue::push() 将作业推送到 redis 队列集群。设置它的人告诉我,我们的应用程序需要配置主要主机和多个从机的连接详细信息。如果这是设置它的正确方法,我正在努力弄清楚如何配置它。

开箱即用的 redis 配置看起来像...

'redis' => array(
'cluster' => true,
'default' => array(
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
),
),
);

我一直在深入研究 Laravel 驱动程序,试图弄清楚如何在 Laravel 中配置主机和从机,但一直无法弄清楚。我怎样才能在这里添加奴隶?

或者这是错误的方向?

最佳答案

截至nrk/predis v1.1.0 内置支持 Redis Sentinel应用程序接口(interface)。

您需要对 Laravel 进行一些细微的配置更改才能使用此功能。最简单的方法是使用 Laravel 的 redis sentinel 包之一。这些只是 Laravel 驱动程序的包装器并负责配置。我个人在大型项目中使用的一个:

cooperaj/laravel-redis-sentinel

什么是 Redis Sentinel?

Redis Sentinel 是一项与 Redis Cluster 协同工作的独立服务。 ,通过自动故障转移监控其高可用性集群的运行状况。

如何使用它?

我们在 Kubernetes 中运行整个应用程序,其中包括 Laravel 5.2 API 和从该 API 运行的 React/Node 网站。我们有一个配置类似于 this 的 Redis Sentinel 集群.我们还运行一个类似于 this 的 Elasticsearch 集群.

您的硬件是什么?

我们的整个运营/系统层都建立在 Google Container Engine 之上集群。

为什么这很重要?

如果您依赖 Redis 作为 Laravel 缓存或队列,那么当 Redis 因任何原因失败时您的应用程序将失败。

关于php - 在 Laravel 中配置高可用的 Redis 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309671/

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