写点什么

架构训练营第六周总结

发布于: 2020 年 07 月 15 日

分布式数据库:



读并发解决方案:

可采用一主多从数据库部署架构,主库负责数据的写,而多个从库可进行读负载的分摊,从而提供读并发能力,并且在某个数据库服务器宕机的时候,也能做好高可用。



写并发解决方案:

一主多从的数据库部署架构只能提高读的并发能力,写并发能力可通过将数据进行分片,从而分摊不同的写请求到不同的分片服务器,从而提高写的并发能力。



常见数据分片的解决方案:

  • 硬编码实现数据分片,如奇偶取模。

  • 映射表外存储,查映射表进行分片。

  • 分布式中间件,利用中间件屏蔽分片的细节。



数据分片的挑战:

  • 处理逻辑变得复杂

  • 多表关联无法执行

  • 分布式事务的挑战

  • 扩容数据迁移



Zookeeper

脑裂:在一个分布式系统中,不同服务器获得了互相冲突的数据信息或者执行指令,导致整个集群陷入混乱,数据损坏。

Zookeeper的角色

  • 领导者(leader),负责进行投票的发起和决议,更新系统状态

  • 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票

  • Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度



Zookeeper架构





Zookeeper节点数据操作流程





Zookeeper应用场景

  • 分布式应用配置管理

  • 统一命名服务

  • 状态同步服务

  • 集群管理

用户头像

还未添加个人签名 2019.01.06 加入

还未添加个人简介

评论

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