首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构师成长之路

    Redis 代理服务Twemproxy

    Twitter Open Source部门提供了TwemproxyTwemproxy,也叫nutcraker。是一个twtter开源的一个redis和memcache代理服务器。 Twemproxy 通过引入一个代理层,可以将其后端的多台 Redis 或 Memcached 实例进行统一管理与分配,使应用程序只需要在 Twemproxy 上进行操作,而不用关心后面具体有多少个真实的 3、twemproxy问题与不足 Twemproxy 由于其自身原理限制,有一些不足之处,如: 不支持针对多个值的操作,比如取sets的子交并补等(MGET 和 DEL 除外) 不支持Redis 的事务操作 出错提示还不够完善 也不支持select操作 4、安装与配置 具体的安装步骤可用查看github:https://github.com/twitter/twemproxy Twemproxy cd twemproxy autoreconf -fvi .

    67010编辑于 2022-04-14
  • 来自专栏北京马哥教育

    Redis 代理服务Twemproxy

    Twitter Open Source部门提供了TwemproxyTwemproxy,也叫nutcraker。是一个twtter开源的一个redis和memcache代理服务器。 Twemproxy 通过引入一个代理层,可以将其后端的多台 Redis 或 Memcached 实例进行统一管理与分配,使应用程序只需要在 Twemproxy 上进行操作,而不用关心后面具体有多少个真实的 3、twemproxy问题与不足 Twemproxy 由于其自身原理限制,有一些不足之处,如: 不支持针对多个值的操作,比如取sets的子交并补等(MGET 和 DEL 除外) 不支持Redis的事务操作 出错提示还不够完善 也不支持select操作 4、安装与配置 具体的安装步骤可用查看github:https://github.com/twitter/twemproxy Twemproxy 的安装 cd twemproxy autoreconf -fvi .

    2.4K70发布于 2018-05-02
  • 来自专栏老铁丁D

    Redis+Twemproxy+HAProxy+Keepalived

    -p /var/twemproxy/pid/redis_twemproxy.pid -o /var/twemproxy/logs/redis_twemproxy.log -d:后台启动 -c:指定配置文件 ="redis_twemproxy" ##这里我直接写死了,twemproxy的配置文件名 不包括.yml twemproxy_bin="/root/twemproxy-master/src/nutcracker " twemproxy_conf="/root/twemproxy-master/conf/${twemproxy_name}.yml" twemproxy_pid="/var/twemproxy/ pid/${twemproxy_name}.pid" twemproxy_log="/var/twemproxy/logs/${twemproxy_name}.log" twemproxy_cmd= "${twemproxy_bin} -d -c ${twemproxy_conf} -p ${twemproxy_pid} -o ${twemproxy_log}" ## 将新的master 端口和ip

    70320编辑于 2022-08-12
  • 来自专栏性能与架构

    使用 twemproxy 构建 Redis 集群

    twemproxy 简介 twemproxy(又称 nutcracker)是 Twtter 贡献的一个 轻量级 高性能 的 redis/memcached 代理 client --> twemproxy 支持的命令来操作 redis,如果需要使用最新的命令,需要等待 twemproxy 的支持 安装配置 下面就把 twemproxy 安装运行起来,用 twemproxy 代理 2个 Redis 安装 /configure make && make install (3)twemproxy git clone https://github.com/twitter/twemproxy.git cd twemproxy 上面这个结构中,高可用方面至少要考虑两个问题: twemproxy 单点 redis 单点 对于 twemproxy 单点问题,可以增加多个 twemproxy,然后使用 HAProxy 进行负载均衡 配置中 使用VIP与 twemproxy 连接

    97540发布于 2018-04-04
  • 来自专栏MavenTalk

    Redis+Twemproxy分片存储实现

    为实现redis的集群存储,本例结合早先出现的Twemproxy技术(由twitter开源)进行redis分片存储,而非在Twemproxy之后出现的官方提供的cluster功能。 下面开启Twemproxy的应用,源码安装 [root@host1 src]# git clone git@github.com:twitter/twemproxy.git [root@host1 src ]# cd twemproxy [root@host1 twemproxy]# autoreconf -fvi [root@host1 twemproxy]# . /configure --enable-debug=full [root@host1 twemproxy]# make [root@host1 twemproxy]# src/nutcracker -h 可以通过22122直接访问redis服务【twemproxy并不支持所有redis/memcache的命令,具体请参考https://github.com/twitter/twemproxy/blob/

    87530发布于 2019-07-19
  • 来自专栏火丁笔记

    通过Twemproxy提升PHPRedis的性能

    Twemproxy 可以说是最古老的 Redis 代理软件了,一般来说,引入代理后性能会比没有引入代理时低一些,毕竟代理会导致一些额外的性能损耗,可是 Twemproxy 却会提升性能, 这主要得益于它的 下面看看如何通过 Twemproxy 提升 PHP/Redis 的性能。 twemproxy=0" shell> ab -k -n 10000 -c 100 "http://path/test.php? twemproxy=1" 一开始,结果让人非常沮丧,使用 Twemproxy,没有带来任何性能上的提升。这是为什么呢? > 再执行压测,结果发现使用 Twemproxy 后,性能整整提升了 100%!

    59630编辑于 2021-12-14
  • 来自专栏散尽浮华

    Redis+TwemProxy(nutcracker)集群方案部署记录

    有了Twemproxy,客户端不直接访问Redis服务器,而是通过twemproxy 代理中间件间接访问。 twitter/twemproxy/archive/master.zip [root@twemproxy-server ~]# unzip master.zip [root@twemproxy-server ~]# cd twemproxy-master [root@twemproxy-server twemproxy-master]# aclocal [root@twemproxy-server twemproxy-master twemproxy配置: [root@twemproxy-server ~]# cd /usr/local/twemproxy/ [root@twemproxy-server twemproxy]# ls sbin share [root@twemproxy-server twemproxy]# cp -r /root/twemproxy-master/conf /usr/local/twemproxy

    3K100发布于 2018-01-22
  • 来自专栏张善友的专栏

    Twemproxy——针对MemCached与Redis的代理

    Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数。 Twemproxy有何用途呢? Twemproxy速度很快,真的很快,它几乎与直接访问Redis速度一样快。我敢说在最差的情况下,性能也只不过才损失20%而已。 Twemproxy早在今年初由Twitter开源,它最开始支持Memcached,最近又添加了对Redis的支持。 原文: Twemproxy——针对MemCached与Redis的代理 Twemproxy, a Redis proxy from Twitter Twemproxy – Twitter 开源的 Redis proxy twemproxy(nutcracker)学习

    78290发布于 2018-01-22
  • 来自专栏服务端技术

    Redis 集群之Redis+Twemproxy方案

    /src/redis-cli -p 7001 cluster nodes [image.png] 4、Twemproxy介绍 Twemproxy 也叫 nutcraker。 5、Twemproxy安装 Twemproxy官网地址是https://github.com/twitter/twemproxy,在安装twemproxy 前,需要安装autoconf,automake /twemproxy/archive/v0.4.1.tar.gz tar -zxvf v0.4.1.tar.gz cd twemproxy-0.4.1/ autoreconf -fvi . -o /usr/local/twemproxy/run/redisproxy.log #指定配置文件路径、pid路径、日志路径 连接twemproxy进行测试 . /bin/sh sudo killall nutcracker 或者复制twemproxy-0.4.1/scripts/nutcracker.init文件到/usr/local/twemproxy/sbin

    1.6K01发布于 2020-06-02
  • 来自专栏Java技术栈

    Redis集群方案对比:Codis、Twemproxy、Redis Cluster

    业界主流的Redis集群化方案主要包括以下几个: 客户端分片 Codis Twemproxy Redis Cluster 它们还可以用是否中心化来划分,其中客户端分片、Redis Cluster属于无中心化的集群方案 Twemproxy Twemproxy是由Twitter开源的集群化方案,它既可以做Redis Proxy,还可以做Memcached Proxy。 Twemproxy架构图 Tweproxy推出的时间最久,在早期没有好的服务端分片集群方案时,应用范围很广,而且性能也极其稳定。 作者:Kaito 链接:http://kaito-kidd.com/2020/07/07/redis-cluster-codis-twemproxy/

    5.7K10发布于 2020-09-22
  • 来自专栏微服务生态

    Twemproxy测试用例以及压测结果

    1、前端使用 Twemproxy 做代理,后端的 Redis 数据能基本上根据 key 来进行比较均衡的分布。后端一台 Redis 挂掉后,Twemproxy 能够自动摘除。 恢复后,Twemproxy 能够自动识别、恢复并重新加入到 Redis 组中重新使用。 2、Redis 挂掉后,后端数据是否丢失依据 Redis 本身的策略配置,与 Twemproxy 基本无关。 4、多台 Twemproxy 配置一样,客户端分别连接多台 Twemproxy可以在一定条件下提高性能。根据 Server 数量,提高比例在 110-150%之间。 6、如果 Twemproxy 的后端节点数量发生变化,Twemproxy 相同算法的前提下,原来的数据必须重新处理分布,否则会存在找不到key值的情况。 从数据可以看出,后端节点数量与 Twemproxy 的性能基本无关,最大性能也就是单个 Redis 的性能。

    1.6K40发布于 2018-08-22
  • 来自专栏小脑斧科技博客

    基于 Twemproxy 与 Codis 的 redis 集群方案比较

    上述这些问题让很多人觉得抓狂,但事实上,生产环境中还有另外两种 redis 集群管理方式可以供我们选择 — Twemproxy 与 Codis。 2. Twemproxy 的特性 Twemproxy 搭建 redis 集群有以下的优势: 快速 — 据测试,直连 twenproxy 和直连 redis 相比几乎没有性能损失,读写分离后更是能够极大地提高集群响应能力 Twemproxy 的缺点 Twemproxy 也有着明显的缺点: 单点 — Twemproxy 只实现了静态分片的功能,本身不具备集群功能,但可以通过 keepalive 来解决 运维不友好 — 没有提供控制面板 Codis Codis 是由豌豆荚于2014年11月开源的 redis 集群解决方案,他针对 Twemproxy 上述弱点,实现了一套。 他通过使用 go 和 C 语言在 redis 源码基础上二次开发,实现了 redis 分布式、高可用集群的实现,在 value 长度低于 888 字节的情况下,性能优于 Twemproxy 一倍左右。

    1.1K20编辑于 2022-06-27
  • 来自专栏算法之美

    代理单点故障如何解决(面试必备)

    借助于 Twemproxy 来做二次开发,把 Nginx 的高性能、高可靠、高并发机制引入到 Twemproxy 中 代码地址: https://github.com/meitu/twemproxy(彩蛋 推特原生 Twemproxy 瓶颈 如今 Twemproxy 凭借其高性能的优势, 在很多互联网公司得到了广泛的应用,已经占据了不可动摇的地位, 然而在实际的生产环境中,Twemproxy 存在以下缺陷 twemproxy 实现 twemproxy 主要的功能是解析用户请求后转发到后端的缓存资源,成功后在把响应转发回客户端。 无感知的解决类似”双buffer交换“的思路, 即上图的twemproxy-C和twemproxy-D, 当需要重启twemproxy代理时, 可以进行如下操作: 1.现假设vip只访问到twemproxy-C .6 Twemproxy 改造前后性能对比(时延、QPS 对比) 6.1 线上真实流量时延对比 6.1.1 改造前线上 Twemproxy 集群时延 线上集群完全采用开源 Twemproxy 做代理,架构如下

    1.8K20发布于 2019-06-17
  • 来自专栏菲宇

    confd的安装与使用

    /root/myapp/twemproxy/conf/twemproxy.conf has been updated 七、查看生成的配置文件 在/etc/confd/conf.d/myapp-nginx.toml 1. twemproxy.toml confd的模板源文件配置:/etc/confd/conf.d/twemproxy.toml [template] src = "twemproxy.tmpl" dest = "/root/myapp/twemproxy/conf/twemproxy.conf" keys = [ "/twemproxy/pool" ] check_cmd = "/usr/local /bin/nutcracker -t -c /root/myapp/twemproxy/conf/twemproxy.conf" reload_cmd = "bash /root/myapp/twemproxy /reload.sh" 2. twemproxy.tmpl 模板文件:/etc/confd/templates/twemproxy.tmpl global: worker_processes: 4

    7K20发布于 2019-06-12
  • 来自专栏爱明依

    Linux下 redis fasdtdfs 基础命令

    redis-cli -h 192.168.68.167 -p 26379 sentinel set redis_master_group1 client-reconfig-script /usr/local/twemproxy redis-cli -h 192.168.68.170 -p 26379 sentinel set redis_master_group1 client-reconfig-script /usr/local/twemproxy redis-cli -h 192.168.68.170 -p 26379 sentinel set redis_master_group2 client-reconfig-script /usr/local/twemproxy /sh/client-reconfig.sh /usr/local/twemproxy/sbin/nutcracker -c /usr/local/twemproxy/conf/redis_master.conf -p /usr/local/twemproxy/pid/redis_master.pid -o /usr/local/twemproxy/logs/redis_master.log -d /usr/local

    1.6K10发布于 2019-03-12
  • 来自专栏Java职业技术分享

    Memcache/Redis集群管理探索与实现:美图开源PaaS平台资源网关

    Redis 主从模式 在原生的 twemproxy 里面是不支持 Redis 主从模式的,这个应该主要是因为 twemproxy 把 Redis/Memcached 当做是缓存而不是存储,所以这种主从结构实际上是没有必要的 统计指标 个人觉得 twemproxy 存在的另外一个问题是延时指标完全缺失,这个对于排查问题以及监控报警是比较不利的。 latency, 指的是 twemproxy 请求 server 的耗时,这个可以理解为 Redis/Memcached server 的耗时。 在偶发问题的场景下,根据两种延时可以定位是 twemproxy、server 还是客户端的问题(比如 GC)导致慢请求,另外也可以慢请求的比例进行监控报警。 最后 多进程版本的 twemproxy 实现上算是比较简单,但过程中发现并修复不少 twemproxy 细节问题(一部分是使用方报告),比如 mbuf 一旦分配就不会收缩导致内存上涨之后不再下降的问题等等

    81100发布于 2018-10-10
  • 来自专栏北京马哥教育

    Redis集群技术

    Twemproxy及不足之处 Twemproxy是一种代理分片机制,由Twitter开源。 但对Twemproxy而言,基本上都很难操作(那是一种锥心的、纠结的痛……)。 或者说,Twemproxy更加像服务器端静态sharding。 有时为了规避业务量突增导致的扩容需求,甚至被迫新开一个基于Twemproxy的Redis集群。 Twemproxy另一个痛点是,运维不友好,甚至没有控制面板。 性能更是改善很多,最初比Twemproxy慢20%;现在比Twemproxy快近100%(条件:多实例,一般Value长度)。 1)无缝迁移Twemproxy 出品方贴心地准备了Codis-port工具。通过它,可以实时地同步 Twemproxy 底下的 Redis 数据到你的 Codis 集群。

    1.3K70发布于 2018-05-04
  • 来自专栏山行AI

    redis集群模式

    代理分片 twemproxy就是这样一种利用中间件做sharding的技术。twemproxy后端不仅支持redis,同时也支持memcached,这是twitter系统具体环境造成的。 twitter 在2015年就不再贡献Twemproxy代码,它最大的缺点是一个静态的Sharding 策略,随着业务的增长也几乎没有办法进行动态的扩缩容。 Twemproxy更加像服务器端静态sharding。有时为了规避业务量突增导致的扩容需求,甚至被迫新开一个基于Twemproxy的Redis集群。 但对Twemproxy而言,基本上都很难操作。 Twemproxy另一个痛点是,运维不友好,甚至没有控制面板。 与Redis Cluster和Twemproxy的比较 ?

    1.4K20发布于 2019-09-09
  • 来自专栏老司机的技术博客

    Redis集群方案怎么做?大牛给你介绍五种方案!

    twemproxy代理方案 twemproxy代理架构图: https://github.com/twitter/twemproxy Redis代理中间件twemproxy是一种利用中间件做分片的技术。 twemproxy处于客户端和服务器的中间,将客户端发来的请求,进行一定的处理后(sharding),再转发给后端真正的redis服务器。 twemproxy中间件的内部处理是无状态的,它本身可以很轻松地集群,这样可以避免单点压力或故障。 twemproxy又称nutcracker,起源于推特系统中redis、memcached集群的轻量级代理。 从上面架构图看到twemproxy是一个单点,很容易对其造成很大的压力,所以通常会结合keepalived来实现twemproy的高可用。

    1.9K20发布于 2018-07-24
  • 来自专栏张善友的专栏

    基于Redis的开源分布式服务Codis

    Redis在豌豆荚的使用历程——单实例==》多实例,业务代码中做sharding==》单个Twemproxy==》多个Twemproxy==》Codis,豌豆荚自己开发的分布式Redis服务。 Redis通常有3个使用途径:客户端静态分片,一致性哈希;通过Proxy分片,即Twemproxy;还有就是官方的Redis Cluster,但至今无一个新版本。 随后刘奇更详细的分析了为什么不使用Twemproxy和Redis Cluster: Twemproxy:最大的痛点是无法平滑的扩容或者缩容,甚至修改配置都需要重启服务;其次,不可运维,甚至没有Dashboard 在这之后,基于原有的遗留系统,还必须可以轻松地将数据从Twemproxy迁移到Codis,并实现良好的运维和监控。基于这些,Codis的设计跃然纸面: ? 最后,刘奇还介绍详细的了Codis中Migration、lock (rwlock)等操作的实现过程和原理,以及从Twemproxy迁移到Codis的详细操作。

    1.3K60发布于 2018-01-19
领券