路由策略解决的是数据存储不下的情况 路由就是数据的统一入口,客户端不用管分了几片,但是路由有可能会重启,一重启的话,分片的信息就不在了,所以需要再单独开启一个2222的服务来保存路由和分片之间的信息,当客户端存数据的时候先访问路由,然后路由从2222里找到分片对应的信息,该访问哪个分片,然后再进行操作. 先开启四个服务,三个分片,一个配置服务 然后mongodb里有mongos这个命令是启动路由的命令,--configdb 是指定配置的存放地址 然后登录上3333这个路由的admin里进行配置操作 db.runCoommand({"addshard":"localhost:4444",allowLocal:true}); addshard这个是指定分片的位置 allowLocal:true这个是允许客户端直接连接分片 db.runCommand({"enablesharding":"test"}); enablesharding 启用分片的数据库 db.runCommand({"shardcollection":"test.person","key":{age:1}}); 设置分片的集合 后面的key是根据哪个字段来进行分片这里设置的是age,然后下面循环插入的时候age填的是i它就可以根据这个字段平均的分配到各个分片里 配置好后插入一千万条数据 然后发现已经平均的插入到三片节点中了