MongoDB分片副本集

  • 副本集模式
    - 介绍: 开启多个服务器作为节点,分主节点和从节点,主节点负责写,从节点负责读。
    - 目的: 数据冗余、高可用、故障转移、提高读性能
    - 组成: 一个副本集通常包含多个节点,至少3个,包括一个主节点和多个从节点。
    - 工作机制: 
        - 写操作需在主节点进行,并且会记录操作日志(oplog),读操作在主节点和从节点进行都可以。
        - 从节点异步复制主节点的oplog,并应用日志中的操作,实现数据同步。
        - 节点之间通过心跳机制检测健康状态,若主节点故障,会自动在从节点中选举出新的主节点。
  • 分片模式
    - 介绍: 将数据打散到不同的分片,提供配套服务保证高可用,每个分片可以独立完成读写操作。
    - 目的: 提高读写性能
    - 组成: 路由服务器、配置服务器、分片服务器
    - 工作机制:
        - 路由服务器负责获取配置信息,接收请求,转发请求给对应的分片服务器,返回数据。可以水平拓展。
        - 配置服务器负责记录集群元数据,如数据块分布信息,分片信息等。必须部署为副本集,确保数据分布信息安全。
        - 分片服务器负责存储集群一部分数据,处理路由服务器转发过来的操作请求,可独立完成读写操作。可以水平拓展。
            - 分片策略: 
                - 范围分片: 实现容易,但是更容易出现热点问题。
                - 哈希分片: 数据分布更平均,但是分片中数据与数据关联小,范围查询性能低。
                - 标签分片: 按实际业务标签分片,数据分布可能不会太平均,但是可能更符合业务需求,设计难度较大。
  • 分片副本集模式
    - 介绍: 分片模式与副本集模式的结合,以分片模式为主体,将分片服务器替换为分片副本集。
    - 目的: 提高读写性能的基础上,保证高可用,数据冗余。
    - 组成: 路由服务器、配置服务器、分片副本集。
    - 工作机制:
        - 主体采用分片模式工作模式,分片副本集内采用副本集工作模式。两者结合而工作互不干扰。
  • 一般演进过程
    单机实例 -> 副本集模式 -> 分片副本集模式
    通常不建议先开启分片模式,分片模式设计复杂,组成部分较多,延迟不好控制。

     

posted @ 2025-08-28 11:25  CJTARRR  阅读(2)  评论(0)    收藏  举报