SDB 2.0.0 发布,增加了主从架构

2022-03-27 00:18:55 +08:00
 Aidenboss

一直在迭代自己的 SDB

1.x 版本发布后,SDB 已经是一个可靠的数据库了。并在 2022.03.10 增加了 cli 功能,提供 SDB 的易用性。之后我们便开始思考如何为 SDB 增加分布式的能力。

参考 redis 的实现,SDB 优先实现了主从架构,也在 v2.0.0 正式发布。

实现的过程比较曲折,golang 语言下可靠的 raft 库并不多,只找到了两种候选方案,并对候选方案做了以下结论:

为了支持国人项目,SDB 选择了 dragonboat raft ,写入的 QPS 从 12k 下降到了 5k ,但读能力是不受影响的,而且也可以水平扩展读能力,收益还是大于损耗的。

架构图如下:

1664 次点击
所在节点    Go 编程语言
6 条回复
ToBeHacker
2022-03-27 11:14:03 +08:00
大概看了一遍,非常赞
Aidenboss
2022-03-28 00:14:11 +08:00
@ToBeHacker 感谢支持。 😀😀😀
dacapoday
2022-03-28 10:08:31 +08:00
看到部分指令和 Redis 类似,有考虑直接兼容现有的 Redis Client 吗?
LoNeFong
2022-03-28 10:53:06 +08:00
已 star
Aidenboss
2022-03-28 12:40:12 +08:00
@LoNeFong 感谢支持
Aidenboss
2022-03-28 12:40:51 +08:00
@dacapoday 好问题。首先 SDB 和 redis 定义还不太一样。然后 redis 的协议对 SDB 还是比较累赘的。所以目前没有支持的打算。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX