首页 > 数据库 >redis scalable solution -- twemproxy

redis scalable solution -- twemproxy

时间:2024-10-06 23:11:09浏览次数:7  
标签:protocol twemproxy Twemproxy -- redis scalable proxy memcached

twemproxy

https://github.com/twitter/twemproxy

A fast, light-weight proxy for memcached and redis

twemproxy (nutcracker) Build Status

twemproxy (pronounced "two-em-proxy"), aka nutcracker is a fast and lightweight proxy for memcached and redis protocol. It was built primarily to reduce the number of connections to the caching servers on the backend. This, together with protocol pipelining and sharding enables you to horizontally scale your distributed caching architecture.

 

https://zhuanlan.zhihu.com/p/351244798#:~:text=Twemprox

 

Twemproxy是一种代理分片机制,由Twitter开源。Twemproxy作为代理,可接受来自多个程序的访问,按照路由规则,转发给后台的各个Redis服务器,再原路返回。该方案很好的解决了单个Redis实例承载能力的问题。当然,Twemproxy本身也是单点,需要用Keepalived做高可用方案。通过Twemproxy可以使用多台服务器来水平扩张redis服务,可以有效的避免单点故障问题。虽然使用Twemproxy需要更多的硬件资源和在redis性能有一定的损失(twitter测试约20%),但是能够提高整个系统的HA也是相当划算的。不熟悉twemproxy的同学,如果玩过nginx反向代理

或者mysql proxy,那么你肯定也懂twemproxy了。其实twemproxy不光实现了redis协议,还实现了memcached协议,什么意思?换句话说,twemproxy不光可以代理redis,还可以代理memcached,官方说明:

twemproxy (pronounced "two-em-proxy"), akanutcracker is a fast and lightweight proxy formemcachedandredis protocol

. It was built primarily to reduce the number of connections to the caching servers on the backend. This, together with protocol pipeling and sharding enables you to horizontally scale your distributed caching architecture.

Twemproxy架构:

 

 

但是从上面我们可以看到这样以来Twemproxy就成了单点,所以通常会结合keepalived来实现Twemproxy的高可用。架构图如下:

 

 

上面的架构通常只有一台Twemproxy在工作,另外一台处于备机,当一台挂掉以后,vip自动漂移,备机接替工作。关于keepalived相关的资料可以参考我前面相关文章。



标签:protocol,twemproxy,Twemproxy,--,redis,scalable,proxy,memcached
From: https://www.cnblogs.com/lightsong/p/18449602

相关文章

  • mysql数据库连接异常问题(总结)
    针对你提到的多种数据库连接问题,下面进行总结和建议,以避免未来再次遇到相同的问题:1.连接超时(AnattemptbyaclienttocheckoutaConnectionhastimedout)原因:网络不稳定数据源配置参数异常解决方案:优化网络环境:检查网络延迟和丢包率。考虑使用更稳定的网络......
  • 织梦数据库后台软件模版是哪个
    “织梦”通常指的是“织梦CMS”(DedeCMS),它是一款广泛使用的开源内容管理系统,主要用于快速搭建各类网站。织梦CMS自带一套后台管理界面,用于内容发布、用户管理等操作,并不是单独的数据库后台软件。如果你是在问织梦CMS使用的数据库模板或数据表结构的话,织梦CMS主要使用MySQL数据库来......
  • 帝国cms网站忘记登陆账号密码怎么办
    1.通过数据库找回密码如果你有数据库的管理权限,你可以直接在数据库中重置你的密码。以下是详细步骤:1.1登录数据库使用数据库管理工具:使用phpMyAdmin等数据库管理工具登录到你的数据库。访问phpMyAdmin页面:访问 http://yourdomain.com/phpmyadmin。输入数据库用......
  • 忘记帝国CMS网站后台密码,重置帝国CMS后台密码
    1.忘记后台管理员账号解决方案:通过 phpMyAdmin 查看数据库中的 phome_enewsuser 表。步骤:检查 username 字段以找到对应的管理员用户名。2.忘记后台登录密码针对不同版本有不同的解决办法:帝国CMS5.0及以下版本方法:直接修改数据库表 phome_enewsuser 中的......
  • 帝国CMS忘记后台登陆用户名 密码 认证码 安全提问答案 数据库用户名及密码的解决方法
    1.忘记后台管理员账号解决方案:通过 phpMyAdmin 查看数据库中的 phome_enewsuser 表。步骤:登录到 phpMyAdmin。选择帝国CMS安装所在的数据库。打开 phome_enewsuser 表。查看 username 字段的内容,找到对应的管理员账号。2.忘记后台登录认证码解决方案:查看......
  • pbootcms模板如何调用时间 时间格式大全
    PbootCMS列表页和详情页中时间格式化的不同样式及其效果:场景标签参数效果列表页[list:date]无参数2021-12-0609:12:30列表页[list:datestyle=Y-m-d]style=Y-m-d2021-12-06列表页[list:datestyle=Y]style=Y2021列表页[list:datestyle=m-d]styl......
  • 宝塔面板修改端口号,无法访问_宝塔修改端口后无法访问
    宝塔面板修改端口号后无法访问的解决步骤:确认新端口号:确保已正确记下新的宝塔面板端口号。检查防火墙设置:如果服务器有防火墙(如iptables或ufw),确保新的端口已被添加到防火墙规则中允许外部访问。更新DNS解析或hosts文件:如果原来通过域名直接访问宝塔面板,可能需要......
  • # 2024-2025-1 20241301 《计算机基础与程序设计》第二周学习总结
    这个作业属于哪个课程<2024-2025-1-计算机基础与程序设计>这个作业要求在哪里<2024-2025-1计算机基础与程序设计第一周作业>这个作业的目标<概括性地了解计算机系统,解决为什么要学习编程的问题>作业正文https://www.cnblogs.com/HonJo/p/18449597教材学习内......
  • 连接Mysql时出现的“no database selected”错误该如何解决?
    遇到“nodatabaseselected”错误通常是因为在尝试执行SQL查询时没有明确指定要使用的数据库。以下是解决这个问题的步骤:确认连接时已选择数据库在连接数据库之后,确保已经选择了具体的数据库。例如,在MySQL中,可以使用 USE<database_name>; 语句来选择一个数据库。USE......
  • 一本通 1071:菲波那契数
    【题目描述】菲波那契数列是指这样的数列:数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。【输入】输入一行,包含一个正整数k。(1≤k≤46)【输出】输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小......