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

用户头像
菜青虫
关注
发布于: 2020 年 11 月 28 日
  • 分布式数据库

    * MySQL主从复制

        * 分摊负载

        * 专机专用

        * 便于冷备

        * 读取高可用

    * MySQL主主复制

        * 不能并发写入

        * 不能增加写的并发能力

        * 更改表结构会有同步延迟

    * 数据分片

        * 硬编码实现

        * 映射表外部存储

    * 分布式数据库中间件Cobar

        * SQL解析模块

        * SQL路由模块

        * SQL执行代理模块

        * 结果合并模块

    * 集群伸缩

        * 提前规划比较多的服务器

        * 扩容时通过主从复制迁移数据

        * 更改数据库连接对应的IP地址

  • NoSQL

    * CAP 定理

        * Consistency

Every read receives the most recent write or an error

        * Availability

Every request receives a (non-error) response, without the guarantee that it contains the most recent write

        * Partition tolerance

The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes

    * 最终一致性

        * 以最后写入为准

        * 客户端解决冲突

        * 投票解决冲突

  • 分布式一致性算法

    * Paxos算法

        * Prepare阶段(Prepare - Promise)

        * Accept阶段 (Propose - Accept)

        * Learn阶段

    * Zab协议

        * Leader发起提案,多数Follower接收后,提交更改

  • 搜索引擎

    * 爬虫系统

        * 待下载队列

        * 已下载集合

    * 倒排索引

        * Key:单词,Value:文档+词频+位置

    * Lucene索引文件准实时更新 - 索引分段 + 段合并

    * ElasticSearch

        * 索引分片

        * 索引备份

  • Doris案例分析

    * 基于虚拟节点的分区算法

    * 高可用设计

        * 临时失效的fail over

            * 备份节点做日志写入

            * 恢复时只写不读

        * 永久失效的fail over

            * 新节点恢复时写入备份节点

            * 失效恢复时重做日志

    * 扩容伸缩

        * 当前group停止读写,迁移数据后进入失效恢复





用户头像

菜青虫

关注

还未添加个人签名 2017.11.20 加入

还未添加个人简介

评论

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