java - MongoDB 中的数据库分片?

标签 java mongodb webserver sharding database

目前我正在探索数据库分片在 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/

相关文章:

java - 使用梯形近似求曲线下面积的程序中存在逻辑错误

java - POM 文件失败,http ://cwiki. apache.org/confluence/display/MAVEN/UnresolvableModelException

c# - 在 C# 中使用 HTTP 发送 PNG

地址栏中的 javascript 字导致我的 apache Web 服务器瘫痪

java - 如何在我的自定义控件中实现类似 JLabel 的大小管理?

java - 在Spring AOP中使用@JoinPoint调用Method.invoke()时“对象不是声明类的实例”

node.js - 如何在mongodb中减去两个日期时间

mongodb - 使用 nodejs 将非常大的记录集导入 MongoDB

javascript - 自动生成文档的随机测试数据以播种 MongoDB 数据库

c++ - C++中的Web服务器,如何发送图像