要构建一个 MongoDB Sharding Cluster,需要三种角色:
(1)Shard Server:
mongod 实例,用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个relica set承担,防止主机单点故障
需要注意的是,shard server中,最好包含奇数台服务器,这样可以保证在一台服务器down掉之后,其他节点可以通过投票的方式选出新的PRIMARY节点,以实现自动切换。
另外也可以通过启动一个arbiter服务来实现,节点的自动切换
(2)Config Server: mongod 实例,存储了整个 Cluster Metadata,其中包括 chunk 信息。要求也是奇数个
(2)Route Server: mongos 实例,前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。
具体安装参加淘宝的DBA,