Linux 下的 MongoDB 分片群集配置,属于那种看着复杂、但动手干起来还蛮有成就感的技术活。MongoDB 的sharding本质上就是“分片存数据”,数据太多?分开存,查起来还快点儿。
三大件要搞明白:分片服务器负责存数据,mongos 路由帮你把求发到对的地方,配置服务器记住谁管啥。嗯,其实逻辑不难,就是搭环境的时候得稍微细点。
像启动mongod --shardsvr
或mongod --configsvr
这些命令,平时不太会用,搞集群的时候就派上用场了。还有启动mongos
,记得把配置服务器地址都写清楚。
别忘了加分片那一步,命令是db.runCommand({ addShard: ... })
,挺重要。你不加,MongoDB 也不知道你想往哪儿分。就是启用分片集合,像用sh.shardCollection
这类,分片键挑得好,性能才能稳。
运维部分也得盯着,比如定期用sh.status()
看下分布情况,别一块机器干得多一块闲着。还有就是,配置服务器和分片节点搞成复制集,要不宕个机就麻烦了。
总的说,这套配置还挺适合需要大规模数据的场景,比如用户地理信息、商品库这种。要是你手里有三五台 Linux 机器,MongoDB 也装好了,不妨折腾一把,试试看效果。