Serverless 进阶实战课
静远
某大厂资深云原生技术专家
11937 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
Serverless 进阶实战课
15
15
1.0x
00:00/00:00
登录|注册

12|编排:如何协调多任务的运行?

你好,我是静远。
今天我要和你分享的主题跟“编排”这个词相关,引入这个技术的关键目的,就是处理较为复杂的场景。
我们在前面的课程提到了函数之间的同步和异步策略机制、有状态的业务处理,这些场景虽然和单个函数比起来已经复杂了一些,但函数本身的策略依然可以解决这些问题的。
但是试想一下,如果你遇到每个业务都有几十个函数,需要多个业务配合调用的情况,函数之间的调用是否还可以轻易驾驭呢?
电商中订单的创建和管理;
文件、视频分片处理后,再整合形成新的报表或视频媒体;
广告物料的审核(包括涉政、涉黄、二跳、作弊等);
……
这些是不是想想都复杂?相信你在微服务架构中治理起来都比较困难,更何况现在是更细粒度的函数维度呢?我们知道,服务拆得越细,服务粒度越小,虽然组装性会更好,但与之相对的,服务治理的难度也就会越大
那么,是否有一种能力,可以在 Serverless 的领域中,通过某种方式来协调各个服务和函数的执行,使得我们在享受高弹性、低成本的同时,也降低业务处理上的复杂度呢?这种能力的确存在,业界普遍称之为“工作流(Serverless WorkFlow)”,它就可以应用在上面提到的场景中。

工作流是什么?

什么是工作流呢?CNCF 在它的标准协议说明中给出了一些解释。总的来说,可以这样概括:通过 DSL 来定义一组结构和模型,它以 JSON 或 YAML 的形式存在,服务引擎会根据定义的蓝图来进行调度和执行任务
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

工作流技术在Serverless领域中扮演着重要角色,通过DSL定义结构和模型,实现任务调度和执行。工作流的核心构成包括状态节点、关联服务和明确的输入输出,同时需要具备日志记录、审计、安全校验和错误异常处理能力。DSL用于描述业务逻辑,包括事件触发、操作、挂起等状态类型,以及控制复杂流程的执行逻辑,如分支、并行和循环。文章还介绍了Serverless工作流的架构设计和生产级考虑因素,包括元信息管理、调度和执行三个核心服务的模块,以及高可用、高性能和安全等相关的因素。工作流技术能够有效协调多任务的运行,降低复杂度,提高效率。同时,工作流在并行调用、批处理、事务型场景都发挥着巨大的作用,为Serverless领域带来了更多可能性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Serverless 进阶实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 曾姐
    工作流目前门槛还是比较高的,首先得对DSL要比较熟悉,感觉收费是不是也不低?

    作者回复: 是的,加上各家的编排规则和语言还有所差距,一般来说,业务新同学有一定的学习成本。目前业界也在推动一些自助开发工具来加快效率,可以持续关注哦

    2022-09-25归属地:上海
    1
  • Geek_4b9a60
    工作流有没有用在ai的场景

    作者回复: 有的,编排在AI 上面用的也比较多,但它更多体现在容器层面

    2023-03-27归属地:上海
  • 静心
    这一节基本都听懂了

    作者回复: 赞,编排这块也可以想想有没有其他架构,欢迎一起探讨

    2022-11-02归属地:江苏
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部