RedisProxy - 跨平台redis proxy代理服务器


MIT
跨平台
C/C++

软件简介

介绍

dbproxy是一个采用C++11编写的代理服务器,支持redis
ssdb数据库。
其主要用于扩容和提高系统负载。使用lua控制sharding,把不同的key-value映射到不同的后端redis或ssdb服务器。

构建

dbproxy支持windwos和linux。

  • windows:打开根目录的DBProxy.sln编译即可。

  • linux:

    • 在根目录下执行 make 即可构建 dbproxy 可执行文件

配置文件

dbproxy的配置文件是Config.lua其ProxyConfigbackendskey配置后端服务器列表,其中的sharding_function指示sharding函数。
作为示例,test_sharding就是被指定的sharding函数,其根据key参数,返回对应的服务器号,这里返回0,意思是将key映射到127.0.0.1
6379这个服务器。

补充

目前dbproxy只作为代理映射,不包含读写分离以及额外缓存,也不解决分布式等问题。
当然其服务器C++代码主体并不涉及任何sharding方案,必须由用户自己在Config.lua里自己实现sharding函数
(当然,也可以从网上找现成的,譬如lua版的一致性hash lua-consistent-hash)

感谢

一定程度上借鉴了redis-shattercodis