我有一个 Web 应用程序 - 一个简单的 Web 应用程序存档文件 - 它有多个用于不同存储类型的存储适配器,即。MongoDB 和 CouchDB。通过使用这个应用程序,我可以使用我编写的 Web 服务将数据存储/查询到那些数据库。目前我每个应用程序只能有一个数据库实例,不能有多个,这会阻止我进行并行处理。
我想要的是在多台机器上运行我的应用程序。除此之外,我想编写一个 UI,使客户端能够在不知道数据库类型/地址的情况下存储/查询数据。
我有两种不同的情况,想问你其中哪一种是更好的方法,为什么。
1)假设我有三台服务器运行三个单一数据库 - couchdb。我可以将我的应用程序上传到这些服务器,然后在我的 UI 或应用程序上方的层的帮助下,我可以定义一个服务器地图,以便我可以存储和查询数据。
正如您在上面看到的,数据库和应用程序位于同一台服务器上,因此它们是远程的。
2)假设三台服务器仍在远程运行,但在这种情况下,我的应用程序是本地的。我让它接受几个数据库实例。
我实际上更喜欢第一个,因为在这种情况下我不需要扩展我的应用程序,但我想听听你的想法。如果你能为这种分布式场景提供一些资源,我会很高兴——我对那种东西完全没有经验。