He3DB
中
He3Proxy
的
3
种方案
-02
he3db
中
session
一致性执行逻辑
方 案 非 常 简 单 , 核 心 点 在 于 如 何 获 取 每 个 节 点 最 新 的
LSN
呢 ? 参 照
PolarDB[1]
的解法,可以有两种方式:
(
1
)查询通道返回,即每次查询操作结果中返回
LSN
信息;
(
2
)节点定期上报最新的
LSN
点位;
当然也有其他方式获取比如建立长链接通道、消息中间件、服务发现机制
等,考虑架构复杂性、性能损耗、实际收益等因素个人认为
PolarDB
的
处理方式比较得当;
LSN
数据不需要落地,维护在
session
内存即可,链
接断开后数据随之销毁。
看到这里你可能会问 并发大的情况下岂不是主库压力会非常大?
传统数据库中从机回放速度相对较慢,大并发下因从机未完成回放,请求
只能落到主节点,确实会造成主节点压力过大,需要结合实际业务去权衡
方案。
在云原生数据库
He3DB
架构下,得益于数据的物理复制,速度极快,可
能在主节点数据返回时,数据复制已经开始,也就是说下次查询请求到来
评论