架构师训练营 2 期 - 第六周总结
概要
本周学习主要的内容是分布式关系型数据库架构,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.分布式关系型数据库
评论