
文章图片

文章图片
【芯片|复杂任务中,流程的解耦设计】
文章图片

文章图片
\">一、业务场景在系统开发的过程中 , 必然存在耗时极高的动作 , 是基于请求响应模式无法解决的问题 , 通常会采用解耦的思维 , 并基于异步或者事件驱动的方式去调度整个流程的完整执行;
复杂流程 , 得一步异步地来;
文件任务:在系统解析大文件数据时 , 在获取任务之后 , 会异步处理后续文件读写流程;
中间表:执行复杂场景的数据分析时 , 收集完待分析的对象之后 , 会并发执行各个维度的采集动作 , 并依次将数据写入临时的中间表中 , 方便数据查询动作;
在上述场景中 , 基于单次请求响应无法执行整个过程 , 必须对流程分段分步和异步推进 , 在流程中根据场景去判断 , 是异步有序驱动 , 还是异步并发处理 , 并基于各个节点的执行状态判断动作是否成功 。
二、任务管理复杂任务的执行周期相对偏长 , 要确保稳定的执行则需要对任务做精细的设计和管理 , 通常会基于如下几个因素去描述任务:
- 场景:定义任务的主题场景 , 便于将多种任务做统一管理和调度 , 例如:文件、数据、报表等;
- 计划:对任务做好步骤的拆分 , 并制定和推进相应的执行计划 , 例如:有序调度、并发执行等;
- 状态:针对任务和节点的执行计划 , 都要提供细节的状态定义 , 例如:开始/结束 , 进行中/已完成 , 成功/失败等;
三、设计思路1、同步请求响应服务之间的通信模式一般分为:同步和异步两种;同步是指在请求端发出动作之后 , 会一直等待响应端完成 , 或者响应超时导致熔断 , 即在一次请求调用中耦合所有的处理流程;
服务中大部分的请求都是同步响应模式 , 可以提高系统的响应速度;但是在分布式中 , 首先要控制超时熔断的时间 , 避免在流量高峰期请求堆积 , 拖垮整个服务;另外对于被大量调用的公共服务 , 要提高并发的支撑能力 , 降低对请求链路的性能影响 。
2、异步解耦模式异步模式的最大优点就是实现请求和响应的完全解耦 , 任务只需要触发一次开始动作 , 后续的流程就会逐步地推进直到结束;各个服务节点处理逻辑不会受到整个请求链路的耗时限制;
实现异步有多种方式 , 例如:请求回调、发布订阅、Broker代理等;在之前异步章节中有详细描述 , 这里不再赘述;异步消除了服务节点之间的依赖关系 , 但是也同样提高了流程的复杂性;
3、事件驱动设计事件驱动是一个抽象的概念 , 即通过事件的方式实现多个服务间的协同 , 驱动整个流程的处理逻辑;在业务层面是一种设计思想 , 在技术层面通常采用发布订阅的方式 , 同样也可以消除服务间的强依赖关系;
- 跑分|vivoS16Pro选用9000芯片,103万高跑分+1亿像素,配置崛起了
- 芯片|外媒:老美“加码”相关限制后,更为“棘手”的后果已经出现!
- 小米科技|小米两款“Ultra”新机齐遭曝光,分别搭载骁龙8+和天玑9000+芯片
- iqoo|iQOO 10系列搭载蓝厂自研V1 ISP芯片 有望首发天玑9000+新机版本
- 小米科技|vivoX80和小米12掰手腕,均有4nm芯片,价格都是3699元该买谁?
- 芯片|二手商品可以放心买吗?体验转转买手机后,我有话说
- 芯片|美媒:“断供”就是个错误,华为已经突破了
- Google|这才是“小钢炮”,A15芯片+5.42英寸小屏+140g,已降至4599元起
- 众多搭载国产芯片的百元手机能买吗?是便宜没好货还是高性价比?
- 红米手机|天玑8100+独显芯片+旗舰主摄,256GB跌至2199元,性价比不输红米
