首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于RESTful的MongoDB云体系结构

基于RESTful的MongoDB云体系结构
EN

Stack Overflow用户
提问于 2018-08-23 12:45:47
回答 1查看 374关注 0票数 0

我想和大家分享一下我在过去几周试图解决的一个架构问题。

我必须设计一个平台来公开一个由移动应用程序和一个网站使用的REST。

到目前为止,一切都很简单。现在,我还没有把这些复杂的部分拼凑起来。现在,让我们忘掉前端,将注意力集中在后端部分,考虑到以下需求:

  1. 平台将使用MongoDB (我已经测试了其他NoSQL数据库,但目前这是唯一一个具备所需所有功能的NoSQL数据库)。
  2. 必须是超级可伸缩才能提供服务,可能会向成千上万的用户提供服务。
  3. 必须允许oAUTH身份验证(至少与Facebook和Google一起)

我已经用各种技术进行了各种测试,但我还无法确定哪个是实现目标的最佳软件栈(或云提供商):

第一次尝试

起初,我开始探索Firebase (它实现了第2点和第3点),但有以下限制:

  • Firestore不提供地理空间功能
  • 这里有Firebase-CLI,但我认为它不是很有用,并且减缓了开发速度,尽管它基于NodeJs,因为它不允许在每次修改和调试是复杂的,一次最多只能完成一个函数。时重新启动应用程序。此外,本地Firebase模拟器似乎无法复制云版本的某些功能。

第二次尝试

然后我转到了蒙太奇,即使在这里,问题也大致相同:可以在本地开发,但是(如果我没有误解这位医生)来进行测试,就有必要在云上部署代码。如果这是真的,那么它是一种无法使用的方法,因为它会大大减慢开发速度,并且不允许在团队中工作。此外,MongoDB云平台不提供静态资源托管。这不是一个严重的问题,但如果有,它会更好。

第三次尝试

我正在尝试使用NodeJS (与Express &Mongoose一起)来设置一个环境,允许您快速开发测试本地。但现在我必须明白如何把它带到云端。我想尝试一种混合方法,允许将开发速度与云系统的功能和功能结合起来(Firebase可能是因为最终它是最cmplete平台):我想尝试在本地开发所有东西,将业务和数据访问组件隔离在单独的js库中。然后,当我在本地工作时,我会将一个快速路由映射到一个业务函数;相同的业务函数将映射到相关的Firebase函数上。有人尝试过这种工作方式吗?

我正在考虑的另一件事是,在两个不同的云中分别对运行时进行分层。会不会有性能问题?或者这些云服务表现得如此出色以至于可以忽略不计。考虑到此时将有2个级别的远程处理:

AppMobile ===> REST服务器(Firebase) ===> MongoDb

你觉得那个怎么样?每一种意见或经验都将受到赞赏。如果您需要澄清,请提前告诉我谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-25 10:50:43

对于您对可伸缩性、MongoDB依赖性和OAuth的需求,最好的堆栈之一是使用Node.js和MongoDB。众所周知,Node.js是超级可伸缩的,并且有可以与MongoDB对话的库。您可以在本地开发并将其推送到云中。另一种选择是使用Node.js (用于前端和OAuth)和使用中间层Java应用程序(例如Spring )来服务ReSTful调用和MongoDB (作为数据库)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51986166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档