基于 MQ 的分布式 Serverless 多租任务处理系统架构演进

本文介绍了阿里云智能高级技术专家史明伟关于基于MQ的Serverless分布式多租任务处理系统架构的演进。文章讨论了Serverless的弹性、多租户架构挑战、资源管理、任务调度等问题,并提出异步任务处理系统的四个核心模块:请求托管、流量控制、执行管理和目标投递。此外,文章还探讨了Serverless在异步任务处理系统中的价值,如消息处理的Serverless化和业务系统的原子化扩展能力。
摘要由CSDN通过智能技术生成

本文作者:史明伟 , 阿里云智能高级技术专家。

1 Serverless 异步任务处理系统诞生和挑战

无论是对于云的开发者,还是尝试业务升级的企业客户,Serverless的三个概念 “极致弹性、无服务器运维、 按需付费” 几乎已经深入人心;但关于 Serverless能做什么、怎么做,却仍然是围绕在大家身边最普遍的声音。

在Serverless研发的初始阶段,通常技术团队会更多聚焦于弹性,冷启动加速,希望通过弹性能力凸显产品技术竞争力,确立产品在市场上的领先地位,并依赖这些能力吸引开发者和企业客户使用Serverless,这个阶段,更多的是依靠技术影响力引导大家探索 Serverless。

随着我们对Serverless的不断深入理解,同时弹性能力的提升进入深水区,相对来说没有本质改变的情况下,我们将更多地思考触及Serverless弹性以外的其他价值,这个时候,弹性将作为系统的基础能力渗透在产品各个方面,需要更多的从系统性的角度考虑 Serverless能做什么,能给客户带来什么,如何让业务聚焦那些不得不需要定制化的部分?

系统性意味着我们需要从包括资源供给,弹性调度,应用框架,容量评估,运维观测等多个维度来考虑Serverless系统对于客户业务的价值, 哪些需要用户参与,或者少参与,哪些需要以服务化能力提供给客户;对于那些客户必须参与的,平台需要提供便利的开发工具满足开发阶段客户需求;在具体业务逻辑实现中,利用Serverless的灵活扩展性,尽可能快速的帮助开发者实现和其他云服务的快速连接,提供稳定高效访问是Serverless所能带给客户的核心价值。

面对实际的客户需求,产品需要考虑多种业务场景: 离线场景的耗时任务执行,在线场景的高并发请求处理,以及事件驱动场景的事件处理,如何将众多业务场景需求在一个计算平台上得到满足,是我们面临的最大挑战。

基于对 Serverless的不断深入理解,结合产品在弹性调度方面的不断积累,我们开始了基于多租架构的Serverless异步任务处理系统的构建,利用异步化的访问方式,帮助用户托管请求,以服务化的手段帮助用户快速执行任务,处理异常,提供可靠的执行保障,结合异步化的结果投递能力,希望能够面向事件驱动,在线业务处理,Serverless Job/Task 等复杂业务场景,为客户带来更多价值。

构建一个面向多租场景的Serverless异步任务处理系统需要面临各种挑战;这个时候我们需要化繁为简,分析任务系统到底要做什么:任务分发, 任务调度, 任务执行。

Serverless本质是一个多租分时复用的商业模式,关于Serverless异步任务处理系统的挑战,结合任务处理系统的功能需求,这些挑战可以总结归类为三个方面:

第一,多租架构本身带来的挑战:包括租户隔离问题,多租资源管理,以及如何权衡隔离性和成本之间的矛盾&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值