我们正在开发一个基于节点的大型ERP项目,关于大部分业务规则应该驻留在Node环境中的内部存在争议。鉴于Node是单线程的(尽管是非阻塞的),将业务规则放在单独的中间层(Option #3)中以实现更有效的负载平衡以及提供更强大的公共REST API似乎是有意义的。公开业务规则而不是简单的CRUD接口。然而,最近中层似乎已经失宠了。在多线程Java或.Net环境中,可以将业务规则置于一个主REST API(选项#2)之后。或者,业务规则可以存在于Web层(选项#1)中,但公共REST API只提供没有业务规则的CRUD。这个主题有时会有点“激烈”,但我们对任何有关各种选项的建设性意见和评论感兴趣。