手机版

在laravel项目中由twemproxy部署redis集群的完整步骤

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

前言

Twemproxy是twitter开发的一个redis代理,可以将多个redis服务器作为一个使用。当开发人员通过Twemproxy访问这些redis服务器时,他们不需要关心由哪个redis服务器读取k-v数据或将k-v数据更新到数据集,这也解决了多个服务器共享redis的问题。在redis主从复制的帮助下,即使任何redis无法工作,也可以确保仍然有完整的数据集。

Twemproxy的目的是什么?它可以:

通过代理减少缓存服务器的连接数,在多个缓存服务器之间自动共享数据,通过不同的策略和哈希函数支持一致的哈希,通过配置禁用故障节点在多个实例上运行,客户端可以连接到第一个可用的代理服务器,支持请求的流式传输和批处理,从而减少来回的消耗。以下描述了twemproxy的安装和配置:

1.m4、autoconf、automake、libtool和gcc需要在安装twemproxy之前安装,否则会报告各种错误。

安装m4

wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz tar-xzvf m4-1.4.13.tar.gz CDM 4-1 . 4 . 13。/configureprefix=/usr/local make install auto conf、automake、libtool、gcc

Yum-y安装autoconf automake libtool gcc 2,安装twemproxy

gitclon https://github.com/twitter/twemproxy.gitautoreconf-fvi #生成配置文件。配置make进行安装

3.编辑配置文件

vim conf/nutcracker.yml

alpha : listen 3360 127 . 0 . 0 . 1:22121 # listen端口hash: fnv1a _ 64 #键值哈希算法,默认fnv1a_64分发3360 ketama #分发算法#ketama一致性哈希算法;Modula很简单,就是根据键值的哈希值;随机随机分发auto_eject_hosts: true #删除后端故障节点redis: true #无论是否是redis缓存,默认为false timeout: 400 #代理与后端之间的超时时间,Server _ redis _ time out : # 200000 #删除故障节点后的重新连接时间,server _ failure _ limit : # 1 #删除服务器的次数3360-172.16.175

redis监听的ip和端口应该对应twmproxy(因为我只在其中一台机器上安装了twmproxy,如果两台机器都安装了,就不用再更改了)

在两个服务器的redis.conf中更改bind选项,在本例中将127.0.0.1更改为172.16.175.145和172.16.175.122。

5.打开twemproxy

胡桃夹子-t-c/twemproxy/conf/胡桃夹子. yml #测试配置文件。如果不添加-c,默认为test conf/nut cracker . yml nut cracker-d-c/twemproxy/conf/nut cracker . yml-p-o/data/Log/twemproxy/re disproxy . Log #启动并记录到/data/Log/twemproxy/re disproxy . Log 6 .将项目中的redis连接更改为twemproxy的ip和端口

我的项目使用laravel,只需在中设置REDIS_HOST和REDIS_PORT。环境至127.0.0.1及以上22121

请注意,配置文件夹下database.php redis配置中的“数据库”=0需要注释掉。默认情况下,predis将对此配置执行选择操作,这将导致连接错误。

做一个redis的读写测试,如果没有意外,twemproxy可以正常使用!

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。

版权声明:在laravel项目中由twemproxy部署redis集群的完整步骤是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。