代码执行主体
通常而言,绝大多数业务需求最后会以3类技术方式实现:
以上3类实现方式,ClownFish将它们抽象为3类代码执行主体:
- HttpAction (由ASP.NET支持)
- MessageHandler
- BackgroundTask
设计意图
ClownFish抽象出这3类代码执行主体,主要是为了:
- 规范代码的开发方式,防止出现五花八门的设计
- 提供完整的日志与监控支持。目前几乎所有的APM监控只能针对HttpAction
- 简化开发过程。框架会提供必要的稳定性封装,项目代码只需要关注具体的业务逻辑即可
相同点
- 都属于顶层代码(没有直接的方法调用)
- 反复执行
- 框架提供完善的
- 调用日志
- 性能监控
- 异常处理和异常日志
重要差异点
- HttpAction:通常它是无状态的,拥有极好的水平扩展性(当一个部署节点不够时,可以增加新的节点)
- MessageHandler:如果消息没有严格的顺序处理要求,它的水平扩展性和HttpAction一样,因此尽量避免 消息必须顺序处理 的设计。
- BackgroundTask:某些场景下,如果只需要一个部署节点来运行,那么就需要将这类代码放在一个独立的项目中。
开发参考链接