node.js - 全球猫鼬模型
问题描述
我正在尝试设计具有许多服务器的大型应用程序的后端。应该只有一个数据库(mongodb),并且所有服务器都应该连接到它。我还想以一种所有服务器都可以查询数据库中任何内容的方式设计后端。例如考虑User
模型。如果我有支付服务,它将需要查找有关用户的信息,身份验证服务等也需要。在 mongo(或在我的情况下为 mongoose)中执行此操作是将我的所有模型放在所有服务器都可以的地方看。
我想到的一个可能的解决方案是在 npm 上公开我的所有模型,然后我可以在每个服务器中要求它们,但这似乎不是一个很好的解决方案。我可以按照最佳实践采取哪些其他替代方案?
解决方案
在数据库级别共享域逻辑和耦合服务可能对您来说是个坏主意,但是,如果您有坚定的信念走这条路,您可以将代码存储在单一存储库中,并在多个应用程序中引导域模型入口点。
如果您想将它们打包为私有 npm 的独立模块,您可以考虑使用 lerna 进行包管理。
推荐阅读
- javascript - React Native 如何在数据中设置状态数据?
- css - 是否可以根据不断变化的类为 ::after 设置动画?
- ios - 如何选择系统键盘作为文本字段的唯一输入键盘类型?
- android - 如何在 RxJava2 中合并多个请求?
- java - Android Spinner 用对象填充
- sql - SQL 插入在 DGlux 应用程序中不起作用
- php - 解析错误:语法错误,意外的 'const' (T_CONST),期望 Laravel 项目中的变量 (T_VARIABLE)
- julia - 我如何在 Julia 中按价值发货?
- sql - 如何从表中选择不同的值?
- c# - 编组指向数组 P/Invoke 的指针