客户端设计通过流程配置总线管理所有节点,包含组件扫描、组件上报、流程拉取、流程执行。1、组件扫描器:主要在项目启动时扫描实现了 Component 接口的所有计算元组件,然后将类信息发送到流程配置总线中。2、上报控制器:接管组件扫描器扫描到的计算元组件,将所有类信息打包发送给 Server。3、拉取控制器:从 Server 中拉取配置在当前应用上的所有流程,并维护到本地缓存中。4、流程匹配器:通过自定义的规则和条件,匹配出当前要执行的具体流程。5、流程执行器:根据流程每个节点的执行方式(如并行串行回滚)执行节点。6、可在每个节点执行前后织入自定义执行切面。
2.4 多环境发布设计
我们的应用发布通常要经过测试、灰度和发布基准等过程,而流程资源的发布也需要类似的步骤,以确保变更的业务安全性。此处与开发者平台存在关联,环境标识对应的是开发者平台中多环境的标识,通过设置与灰度环境相同的环境标识,就可以在对应的灰度 POD 上来验证我们的规则。这里使用了基础架构提供的调用链上下文,来获取当前 POD 所在的环境标识。资源匹配的时候,优先获取到当前 POD 所在的环境标资源,来达到资源灰度的目的。在灰度完成验证的规则,即可继续完成资源发布上线。1、多环境灰度标:2、灰度流程状态设计:客户端拉取流程只能是灰度、发布状态流程。 灰度流程的匹配:优先匹配灰度流程,通过策略条件判断是否存在当前灰度流程,存在返回灰度流程。未命中灰度,匹配已发布的流程。