写点什么

【架构师训练营】第六期笔记

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

数据分片

 

  • 分片目标(数据库的压力大,写入压力特别大,可以通过分片降低数据库的存储压力和写入压力)

  • 分片特点

  • 分片原理

 

方式

  1. 硬编码实现数据分片

通过代码将分片 key 映射到对应的服务器编号

 


  1. 映射表外部存储



  • 比硬编码更加灵活

  • 一次数据查找变成两次数据查找

  • 数据量大的情况下,建立映射表会很困难,系统变复杂

 

  1. 分布式数据库中间件



如何做集群的伸缩



数据库部署方案

单一服务与单一数据库



主从复制实现伸缩



两个 web 服务与两个数据库(业务分库)



综合部署



CAP 原理


当网络分区失效发生的时候,我们要么取消操作,这样数据就是一致的,但是系统却不可用;要么我们继续写入数据,但是数据的一致性就得不到保证。

 

一致性 Consistency

每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期的数据

 

可用性 Availability

每次请求都能得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的

 

分区耐受性 Partition tolerance

即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的

 

最终一致性



写冲突解决方案:

  1. 根据写入时间戳覆盖

 


  1. 客户端解决冲突



  1. 投票解决冲突(Cassandra)




用户头像

云064

关注

还未添加个人签名 2018.05.24 加入

还未添加个人简介

评论

发布
暂无评论
【架构师训练营】第六期笔记