【发布时间】:2015-07-19 04:17:02
【问题描述】:
我正在一个网站上构建两组服务(都在服务器上用 NodeJS 编写),它们都使用 RESTful 方法。为了模块化,我决定将这两个服务分开的实体。第一项服务处理网站的产品,第二项服务专门处理与用户相关的功能。所以第一个可能有 getProducts、deleteProduct 等函数……第二个可能有 isLoggedIn、register、hasAccessTo 等函数……产品模块将对用户模块进行多次调用,以确保拨打电话的人有这样做的特权。
现在我这样分开它们的原因是因为在不久的将来我预计会开放一个单独的产品范围,但需要使用与第一个相同的用户系统(甚至共享相同的数据库)。用户系统将使用跨越整个站点和所有后续产品的数据库
我的问题是关于这些项目和用户项目之间的沟通。什么是保持用户模块分开而不遭受任何显着速度影响的最有效方法。如果产品 API 在同一服务器(本地主机)上调用用户 API,与将用户 API 构建到每个后续项目中相比,这样做是否会产生重大成本?有没有更好的方法通过进程间通信来做到这一点?让用户 API 作为自己的服务运行是一种有效的解决方案吗?
【问题讨论】: