

(一) MdbCluster分布式内存数据库——基础架构介绍 - smartguy
source link: https://www.cnblogs.com/cdap/p/17108995.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

(一) MdbCluster分布式内存数据库——基础架构介绍

根据最初的设计方案,在实现的时候我们进一步做了减法。
MdbCluster的服务节点:
a)MdbAgent负责业务和控制消息的接入、校验、推送。
b) MdbRWNode负责管理本地内存数据库,数据同步写入内存,异步写入磁盘。
MdbCluster的客户端节点:
a) MdbClient负责与在App的驱动进行同步交互,并通过http2协议与服务端进行通讯。
二、主备结构
在MdbCluster设计之初,打算通过二阶段提交的方式来实现数据一致性。并且设计了复杂的二阶段提交流程,足有三大页的流程图。难点不在于二阶段提交本身,而在于异常发生时,系统如何保证数据不丢失,如何从故障中恢复。虽然看起来设计方案很宏伟,但一点也不优雅,实现起来一定会是个灾难。看到Redis也从低版本的二阶段提交改为高版本的主备模式。我们也修改了最初的设计方案。

Master节点和Slave节点的MdbRWNode通过异步的方式来同步数据。并且通过心跳的方式来检测对端是否异常。
a) 当Slave节点异常时,数据同步中断。在Slave节点恢复时,先从自己的数据库文件中恢复数据,再对接Master节点,对中断过程中的数据进行恢复。
b) 当Master节点异常时,MDB2检测到MDB1故障,将自己转为Master节点,承担业务消息。当MDB1恢复时,先从自己的数据库文件中恢复数据,再对接Master节点,对中断过程中的数据进行恢复。并做为Slave节点继续工作。
c) 在做主备切换时,MdbAgent会对MdbClient进行广播通知。
Recommend
-
59
-
7
内容来自B站中华石衫的Elasticsearch 顶尖高手系列课程核心知识篇,顺便说,老师的手绘示意图实在不怎么好看,领会精神吧
-
9
MemVerge CEO:基于大内存的基础架构将取代性能级存储-存储在线 当前位置:存储在线 > 技术 > 正文 本周,...
-
8
在大规模互联网应用中,负载均衡设备是必不可少的组成部分,源于互联网应用的高并 发和大流量的冲击压力场景下,通常会在服务端部署多个无状态的应用服务器和若干有状态的 存储服务器(数据库、缓存等等)实现高可用特点和机制...
-
12
引 言 数据库的可用性和扩展性一直是数据库厂商和用户最关注的问题。过去我们采用高端的设备,比如使用小型机和大型存储来保证数据库的可用 性。而扩展性主要采用向上扩展(Scale up)的方式,通过增加CPU,内存,磁盘等方式提...
-
5
ZNBase 是开放原子开源基金会旗下的首个分布式数据库项目,由浪潮大数据团队开源并捐赠。本文将介绍 ZNBase 的存储架构,以及 ZNBase 技术团队在其 KV 存储引擎基础上所做的优化实践。 ZNBase 整体存储架构 云溪数据库 ZN...
-
2
我做基础架构学到的42件事 - 强力研分布式系统 - 开发者头条 微博 使用《开发者头条》客户端,拥有更好的阅读体验。 立即体验...
-
6
随着互联网数据规模越来越大,并发请求越来越高,传统的关系数据库系统在性能、价格、可扩展性方面已经不能很好地满足需求。谷歌、亚马逊等互联公司率先在后台基础设施中引入超大规模分布式存储系统,用来解决海量数据的存储问题。与传统的集中式存储技术不同,分布...
-
7
直播预告丨数据库分布式架构的落地策略与典型实践 dbaplus社群 2022-07-10 09:00:00 主题:数据库分布式架...
-
3
(二) MdbCluster分布式内存数据库——分布式架构1 (二) Md...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK