Closed cevio closed 5 years ago
基本上看了一遍文档,总体上感觉不错。但是有几个点我需要问下。
基于AOP的controller模式是否真的适用在架构中的问题其实一直以来都是有争论的。最早起源于java,Spring一整套都是基于AOP设计的路由。那么问题来了
我看到文档中有一些写法,我举个例子:
this.ctx.service.xxxxx
我知道这种模式来源于eggjs,但是这是eggjs的弊病之一。如果过多的模块中适用,会产生如下情况:
service.xxxx
至于glue等,一样的道理。
glue
容错对于一套架构来做很重要,在nodejs的服务架构中特别重要,因为在child_process中错误捕获方式很多,我不清楚贵架构有没有做处理。我例举一些情况:
child_process
特别强调下请求丢失,有没有做请求的trace_id,在全局容错中捕获请求错误同时让请求能够response。
trace_id
比如说,daruk开启了多进程(cluster)模式,那么我现在有这样一个需求:我要编写一套基于进程隔离的自动打包前端代码的程序
npm run build
特点是每次打包开启一个新的进程进行隔离,那么在daruk中是否可以做到。因为在我看来,daruk没有涉及到自定义子进程模型,而仅仅是cluster模型。
以上是我的愚见。
很好的讨论,晚点把我们微信的聊天整理下发出来。
在重构的版本会进行对应的解决。
和Koatty 有什么大的不一样么…… 看起来你们两个人的目标挺像的…… https://github.com/Koatty/koatty/issues/43
@lgh06 看了他的项目介绍,确实蛮像的,但是的应该daruk比koatty的丑到了极致吧。
基本上看了一遍文档,总体上感觉不错。但是有几个点我需要问下。
AOP模型
基于AOP的controller模式是否真的适用在架构中的问题其实一直以来都是有争论的。最早起源于java,Spring一整套都是基于AOP设计的路由。那么问题来了
变量污染
我看到文档中有一些写法,我举个例子:
我知道这种模式来源于eggjs,但是这是eggjs的弊病之一。如果过多的模块中适用,会产生如下情况:
service.xxxx
的来源,只有本模块开发者知道,对于团队合作不利。至于
glue
等,一样的道理。容错机制
容错对于一套架构来做很重要,在nodejs的服务架构中特别重要,因为在
child_process
中错误捕获方式很多,我不清楚贵架构有没有做处理。我例举一些情况:特别强调下请求丢失,有没有做请求的
trace_id
,在全局容错中捕获请求错误同时让请求能够response。特殊业务模型
比如说,daruk开启了多进程(cluster)模式,那么我现在有这样一个需求:我要编写一套基于进程隔离的自动打包前端代码的程序
npm run build
特点是每次打包开启一个新的进程进行隔离,那么在daruk中是否可以做到。因为在我看来,daruk没有涉及到自定义子进程模型,而仅仅是cluster模型。
最后
以上是我的愚见。