SSDB 和 Twemproxy集群和分布式

SSDB 支持 Redis 协议, 许多人将 Twemproxy 置于多个 SSDB 实例的前端, 实现集群功能.

ssdb介绍

SSDB项目地址
SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set),qlist(队列) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.

twemproxy介绍

Tweproxy项目地址
Twemproxy 是一个快速的单线程代理程序,支持 Memcached ASCII协议和更新的Redis协议。它全部用C写成,使用Apache 2.0 License授权。项目在Linux上可以工作,而在OSX上无法编译,因为它依赖了epoll API.

安装及配置

安装

请参考相关项目地址

配置

ssdb配置双主模式

相关文章地址

twemproxy配置

1$ cat /usr/local/twemproxy/conf/nutcracker.yml 2alpha: 3 listen: 192.168.56.102:22121 4 hash: fnv1a_64 5 distribution: ketama 6 auto_eject_hosts: true 7 redis: true 8 server_retry_timeout: 2000 9 server_failure_limit: 1 10 servers: 11 - 192.168.56.101:8888:1 12 - 192.168.56.102:8888:1

配置项

  • listen: 192.168.56.102:22121 ## 监听地址和端口.
  • hash: fnv1a_64 ## 散列算法.
  • redis: true ## 后端代理的是否为redis.
  • servers: ## 分片服务器列表
  • distribution: ketama ## 分片的算法,有ketama(一致性hash)、module(取模)、random(随机)三种算法
  • auto_eject_hosts: false ## 是否在节点无法响应时自动从服务器列表中剔除,重新响应时自动加入服务器列表中

启动tweproxy

$ nutcracker -d -c conf/nutcracker.yml

连接ssdb测试

$ redis-cli  -h 192.168.56.102 -p 22121

**注意:**这里就不能再使用ssdb-cli去连接tweproxy了,需要使用redis的方法去连接,包括后面的代码的连接方式也需要更改为redis的方法。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )