架构师训练营第 6 周学习总结

用户头像
Season
关注
发布于: 2020 年 07 月 15 日

分布式数据库

数据库分片

  • 硬编码实现分片

  • 映射表外部存储



分布式数据库中间件

  • Mycat

  • Amoeba/Cobar



扩容策略

  • 类似Redis Pre-Sharding,提前规划好schema,方便后续的迁移



数据库的部署方案

  • 单一服务器与单一数据库

  • 主从复制实现伸缩

  • 两个Web服务 及两个数据库(垂直切分,比如微服务一个服务对应一个数据库)

  • 综合部署,不同服务采用不同的数据库集群方案,其实同样的也可以采用异构的数据库方案



NOSQL

CAP定理

在一个分布式系统(指互相连接并共享数据的节点的集合)中,当设计读写操作时,只能保证一致性(Consistence)、可用性(Availablity)、分区容错性(Partition Tolerance)三者中的两个,另外一个必需被牺牲。



CAP原理与最终一致性



最终一致性写冲突

简单冲突处理策略:根据时间戳,最后写入覆盖



客户端冲突解决

客户端合并?



投票解决冲突(Cassandra)

  • 写入时,尝试写入三个节点,等待至少两个节点向响应成功。

  • 读取时,尝试从三个节点读取。等待至少两个节点返回,取最新版本。



HBase的架构



ACID与BASE

ACID:原子性、一致性、隔离性、持久性

BASE:基本可用,软状态,最终一致性



分布式一致性Zookeeper

分布式系统脑裂

数据库主主备份

分布式一致性算法PAXOS

Zookeeper架构

Zab协议

Zookeeper性能



用户头像

Season

关注

还未添加个人签名 2019.09.28 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 6 周学习总结