架构师训练营 2 期 - 第六周总结

用户头像
Geek_no_one
关注
发布于: 2020 年 12 月 06 日

概要

本周学习主要的内容是分布式关系型数据库架构,NOSQL数据库架构,ZooKeeper架构,ElasticSearch搜索引擎,案例Doris。

重点内容

1.分布式关系型数据库MySQL

MySQL分布式数据库可以增加读并发能力,单没有增加写并发能力和存储能力。可以利用数据分片的思想实现扩容。

2.非关系型数据库NOSQL

CAP理论,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性),不能同时成立。可以采用投票解决冲突的思想。NOSQL更适合分布式部署

3.ZooKeeper确保分布式一致性

ZooKeeper本质上是一个分布式文件存储系统。

Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议(ZooKeeper Atomic Broadcast protocol)。Zab协议有两种模式,它们分别是恢复模式(Recovery选主)和广播模式(Broadcast同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。

为了保证事务的顺序一致性,zookeeper采用了递增的事务id号(zxid)来标识事务。所有的提议(proposal)都在被提出的时候加上了zxid。实现中zxid是一个64位的数字,它高32位是epoch用来标识leader关系是否改变,每次一个leader被选出来,它都会有一个新的epoch,标识当前属于那个leader的统治时期。低32位用于递增计数。

4.分布式关系型数据库



用户头像

Geek_no_one

关注

还未添加个人签名 2020.05.15 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 2 期 - 第六周总结