TwemProxy(nutcracker)参数选项及配置解析
来源:互联网 发布:java并发编程的艺术 编辑:程序博客网 时间:2024/06/16 12:06
例如,服务池beta的配置如下,指定了两个hash_tag字符“{}”,这意味着keys”user:{user1}:ids” 和 “user:{user1}:tweets” 将会映射到同一台服务器上,因为我们使用的是’user1′来计算hash,对于key “user:user1:ids”将会是用整个字符串来计算hash,所以可能会映射到其他服务器上。
仅仅依靠客户端超时设置并不能达到理想的超时效果,反而起到了相反的作用,因为客户端的超时设置在这里变成了客户端对代理的超时,但代理对服务端的链接是一直保持的,客户端重试请求对于服务端是没有效果的。默认情况下,任何发送给服务端的请求,nutcracker都会无限期的等待,当timeout被设置后,如果在timeout的时间过后还没有从服务端得到回应,这时会将超时错误信息SERVER_ERROR Connection time out发送给客户端。
backlog: The TCP backlog argument. Defaults to 512.为了说明这一点,假设在twemproxy 配置为server_connections: 2的场景下,一个客户端发出了以set foo 0 0 3\r\nbar\r\n(写)为开始,然后第二个命令是get foo\r\n (读)的piplined请求,期望的结果是读取foo的时候能够返回bar,然而,由于配置了两个服务端链接,读写请求可能被发送到不同的链接上,也意味着他们的执行顺序要看哪一个先到达服务端,总结一下,如果客户端期望得到的是我最后写的内容,需要将twemproxy配置为 server_connections:1或者客户端只发起同步的请求。
auto_eject_hosts: A boolean value that controls if server should be ejected temporarily when it fails consecutively server_failure_limit times. See liveness recommendations for information. Defaults to false.servers: A list of server address, port and weight (name:port:weight or ip:port:weight) for this server pool.
twemproxy上代理的服务实例可以通过两种字符串格式指定‘host:port:weight’ 或者 ‘host:port:weight name’.
或者
在前面的配置中,keys是直接由‘host:port:weight’三重映射而来,而在后者keys是由节点名映射而来,节点名和主机的地址和端口对应,后者的方法可以使我们更自由地在不打乱hash环的情况下重置节点后端实例。在auto_eject_hosts设置为false的情况下,达到理想的配置。 了解详细issue 25
需要注意的是当使用节点名来构建一致性hash环的时候,twemproxy将会忽略’host:port:weight name’这种格式的字符串中权重的值。
- TwemProxy(nutcracker)参数选项及配置解析
- twemproxy(nutcracker)安装
- twemproxy的配置文件nutcracker.yml详解
- Redis+TwemProxy(nutcracker)集群方案部署记录
- getopt----解析命令选项及参数
- Redis+twemproxy(nutcracker)实现Redis多集群方案
- nutcracker
- getopt_long()解析命令行选项参数
- getopt解析命令行选项参数
- twemproxy安装与配置
- twemproxy安装与配置
- argparse - 命令行选项与参数解析(译)
- argparse - 命令行选项与参数解析(译)
- Highcharts的选项配置参数
- mysqldump参数选项及w参数说明
- twemproxy源码解析系列三
- twemproxy源码解析系列一
- 使用getopt_long解析程序长选项参数
- 错误:'/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java'' finished with non-zer
- poj-1129 Channel Allocation
- Network Saboteur(POJ_2531)
- 解读jquery源码时记录的一些知识点
- Spark入门实战系列--6.SparkSQL(上)--SparkSQL简介
- TwemProxy(nutcracker)参数选项及配置解析
- unity3d GameCenter的使用
- 数据库性能优化一:数据库自身优化(大数据量)
- 关于Oracle ADF 11g的传值给bounded task flow
- Echarts 单序列数据颜色color交替实现
- 安卓下拉刷新,pulltorefresh的使用
- “#ifdef __cplusplus extern "C" { #endif”的定义
- jQuery $(,)多参数
- Spring SetFactoryBean example