SuperAPI AI 工具集

mongodb-replication-sharding

部署与运维

查看项目

更新于 10-16 03:43

技能介绍

用途:帮助掌握 MongoDB 分布式架构,包括副本集(replica set)与分片(sharding)的搭建、配置与运维,适用于需要高可用或水平扩展的部署场景。

主要能力:

  1. 副本集:以 mongod --replSet rs0 --port 27017 等命令启动多实例,通过 rs.initiate 初始化成员并设置优先级,用 rs.status() 查看状态。区分 Primary(读写)、Secondary(复制并只读)、Arbiter(参与选举、无数据)角色。
  2. 写关注与读偏好:支持 writeConcern 的 w:0、w:1、w:'majority' 及 wtimeout;读偏好包括 primary、primaryPreferred、secondary、secondaryPreferred、nearest。
  3. 分片:启动 configsvr 配置服务器与 mongos 路由,启动 shardsvr 分片服务器;用 sh.enableSharding 启用数据库分片,sh.shardCollection 指定分片键,支持范围、哈希(hashed)与复合分片键;用 sh.status()、listShards、balancerStatus 查看状态。
  4. 故障转移与高可用:rs.stepDown() 触发选举,查看 oplog 与复制延迟,监控成员状态。
  5. 事务:MongoDB 4.0+ 支持多文档事务,通过 session.withTransaction 使用。
  6. Python 示例:pymongo 连接副本集、设置 WriteConcern 与 ReadPreference。

使用方式:按资料中的命令与代码片段操作,先搭建副本集或分片集群,再配置写关注、读偏好与分片键,最后通过监控命令检查状态。

限制:资料未提供具体版本兼容性、性能基准、收费或平台信息;分片键选择与集群规模需结合实际数据评估。