代码执行主体

通常而言,绝大多数业务需求最后会以3类技术方式实现:

xx

以上3类实现方式,ClownFish将它们抽象为3类代码执行主体:


设计意图

ClownFish抽象出这3类代码执行主体,主要是为了:

  • 规范代码的开发方式,防止出现五花八门的设计
  • 提供完整的日志与监控支持。目前几乎所有的APM监控只能针对HttpAction
  • 简化开发过程。框架会提供必要的稳定性封装,项目代码只需要关注具体的业务逻辑即可

相同点

  • 都属于顶层代码(没有直接的方法调用)
  • 反复执行
  • 框架提供完善的
    • 调用日志
    • 性能监控
    • 异常处理和异常日志

重要差异点

  • HttpAction:通常它是无状态的,拥有极好的水平扩展性(当一个部署节点不够时,可以增加新的节点)
  • MessageHandler:如果消息没有严格的顺序处理要求,它的水平扩展性和HttpAction一样,因此尽量避免 消息必须顺序处理 的设计。
  • BackgroundTask:某些场景下,如果只需要一个部署节点来运行,那么就需要将这类代码放在一个独立的项目中。

开发参考链接