用户工具

站点工具


about_twemproxy_1

twemproxy源码分析 第一章 twemproxy使用入门

作者:陈科

联系方式:chenke1818@gmail.com

转载请说明出处:http://www.dumpcache.com/wiki/doku.php?id=about_twemproxy_1

1.什么是twemproxy

twemproxy又叫nutcraker。是一个twitter开源的一个redis和memcache代理服务器

github地址为:https://github.com/twitter/twemproxy

2.使用简介

2.1配置

twemproxy的配置采用yaml语法格式,关于yaml可以参考:http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/

配置文件例子:

redis:
  listen: 127.0.0.1:22122 ##监听端口
  hash: fnv1a_64 ##hash算法
  distribution: ketama ##服务器hash策略
  auto_eject_hosts: true ##如果server挂了,是否重新hash
  redis: true ##false则服务器为memcached
  server_retry_timeout: 2000 ##失败重试时间
  server_failure_limit: 1
  timeout: 100 ##建立连接和接受response的超时时间
  servers:
   - 127.0.0.1:6379:1
   - 127.0.0.1:6380:1

启动方式为:

nutcracker -c conf/nutcracker.yml

3.生产架构

因为twemproxy有单点问题,所以我们可以开多个twemproxy连接到同一redis/memcached集群里来保证可用性:

4.优势

1.支持memcached(ascii)/redis协议

2.zero copy,支持让客户端的数据直接发送到服务端的连接上去,减少了2次内核态到用户态的拷贝

about_twemproxy_1.txt · 最后更改: 2018/10/14 15:31 (外部编辑)