作为一个分布式应用,MongoDB 服务端由:
数据节点(mongod) 路由节点 mongos 以及 config server 节点(mongod)组成。
与其他分布式应用的一个区别是,MongoDB做到了:

  1. 单独的一个 mongod 实例可以独立使用。
  2. 多个 mongod 实例可组成复制集。
  3. 多个复制集可组成分片集群,只有在这个时候才需要启动 config server 和 mongos 节点。
  4. 可以用多个 mongos 节点,且角色对等。

做到这几点并不容易,充分考虑了易用性和灵活性。但对于分布式集群来说,当需要分布式的时候,自然需要配置节点,路由节点。MongoDB 为了以上的特性,在运维的时候就需要一点店牺牲,及添加分片需要在 mongos 一个个的添加。
而通常的分布式服务可能是数据节点指定路由节点信息或者配置中心信息。这样就不能单独单节点使用。


ccj 于 14 天前 修改
0 回复
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。