在直播语音开发中势必会存在一些比较耗时的任务,对于这类任务更好的执行方式是进行流程解耦,再基于异步或事件驱动的方式进行流程的调度。在直播语音开发中,如何才能设计出合理的任务结构呢?
一、任务结构的设计思路
为了实现更高效的流程管理,需要在直播语音开发时设计合理的任务结构,设计思路如下:
1、同步请求响应
在直播语音开发中请求的响应模式分为两种,分别是同步响应模式和异步响应模式。其中同步响应模式主要是指请求端在发出请求后会一直等待响应端的完成响应,除非出现响应超时导致熔断发生的情况。
同步响应模式因其具备的提升系统响应速度的优势,在直播语音开发中比较受欢迎,在分布式中,要做好对超时熔断时间的控制,尽量避免流量高峰期出现请求堆积的情况。
2、异步解耦模式
所谓的异步响应模式就是将请求和响应完全解耦,请求端只需发送一次请求,后续的流程就会逐步推进到结束,无需等待响应端的响应,在异步响应模式下,各个服务节点的处理逻辑不会受到整体请求链路的耗时限制。
3、事件驱动设计
所谓的事件驱动主要是指通过事件的方式实现多个服务间的协同,并驱动整个流程的处理逻辑,由于事件本身具备一定的业务信息和状态,流程解耦更彻底,有利于消除服务间的强依赖关系。
二、任务的管理
为了方便对复杂的任务进行精细的设计和管理,在直播语音开发时可以从以下三个维度进行任务的描述:
1、场景:主要是指对业务场景进行定义,实现对多种任务的统一管理和调度。
2、计划:主要是指对直播语音开发中复杂的任务进行流程拆分,制定和推进相应的执行计划。
3、状态:主要指无论是任务还是节点的执行计划,都需要实现详细的状态定义。
对于直播语音开发中较为复杂的任务我们需要采取合适的手段进行执行优化,这样才能提升系统的响应效率,保证用户的使用体验。直播语音开发工作看似简单但涉及的细节颇多,只有细心做好每一步才能保证其质量。