Home

Awesome

基于Raft的数据一致性分布式的 bitmap 服务

bitmap(位图)技术是数据库、大数据和互联网业务等场景下经常使用的一种技术。

架构图

支持三种协议读写: HTTPredcisrpcx

操作可以发给任意节点,但最终是由raft leader节点进行操作。 操作可以选择任意的节点进行读取。

服务

进入cmd/server, 运行go run server.go启动一个bitmap服务。

它同时支持三种服务:

集群模式

支持raft集群模式: basalt集群

API接口

basalt位图服务支持三种接口模式:

Redis命令

rpcx 服务

查看 godoc以了解提供的rpcx服务

HTTP 服务

HTTP 服务提供和 redis、rpcx服务相同的功能,通过http调用就可以访问Bitmap服务。

所有的参数都是在路径中提供,路径格式为/action/param1/param2。 复数形式valuesnames包含多个元素,元素以逗号,分隔。

为了简化操作,所有的http服务都是通过GET方法提供的。

返回的HTTP StatusCode代表的含义如下:

HTTP服务路径列表如下:

例子

以微博关注关系数据集做例子,我们使用Bitmap服务来存储某人是否关注了某人,以及两人是否互相关注。

例子参看 weibo_follow

Roadmap

Credits