目前我正在探索数据库分片在 Mongo DB 中的工作原理。
我的用例是我的 Web 应用程序中有许多产品,例如电子产品/婴儿用品/书籍/布料等。假设我想将不同的产品存储在不同的数据库(在不同的机器上)以分配负载并在需要时进行扩展。
我的问题是 Mongo DB 有责任根据产品类型将产品存储在正确的数据库中,而我的网络服务器 java 代码将完全不知道吗? Mongo DB 支持吗?
否则,网络服务器 java 代码将负责连接到正确的数据库以进行存储 产品基于其类型?
最佳答案
您的 Java 应用程序连接到 mongos
并且 mongos
代表整个数据库,无论有多少 mongod
你跑了!
mongos
处理与正确的 mongod
服务器的连接并运行您的查询。所以基本上,您的 Java 应用程序将 MongoDB 视为单个黑盒。
P.s: 你可以运行多个 mongos
,在你的 local DNS provider
中为它们分配一个域名,它会负责你的 的负载平衡蒙戈斯
。在这种情况下,您的 Java 应用程序行为也是相同的。
关于java - MongoDB 中的数据库分片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967206/