- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
弹性可伸缩海量工作流引擎建设实践
腾讯架构师/叶彬;
极客邦科技2024年会议规划
促进软件开发及相关领域知识与创新的传播;
目录
·背景
·工作流引擎技术选型·高可用架构落地实践·落地场景与取得效果·下一步计划与思考;
InfoQ极客传媒;
什么是工作流
即工作流程的计算模型,为完成一个业务目标,所需要经历的一系列步骤,通常用流程图来表示(业界通常用BPMN流程图来描述一个工作流)
示例:服务器硬件故障自动诊断流程,日志下载→规则库加载→策略匹配;
非工作流模式下系统实现
非工作流模式下,原始需求:日志下载→规则库加载→规则匹配;
非工作流模式下的问题
耦合高、调整难、复用低classManualAnalyTask{classSupplyDiagnoseTask{
voidhandle(){voidhandle(){;
云
么T女FU
使用工作流模式的任务协作-分离任务实现和任务协作关系
日志下载规则加载规则匹配
开始结束;
为什么需要工作流
当新的逻辑需要复用已有任务节点时,只需调整流程图,无需修改已有代码
classManualAnalysisTask{
voidhandle(){
doManualAnalysis();
};
所有涉及业务流转按流程完成的场景都可通过工作流引擎作为支撑
InfoQ极客传媒;
工作流引擎与微服务编排
微服务架构的核心是把复杂的业务系统拆分成高内聚的微服务,每个服务负责相对独立的逻辑。要实现业务价值,不是看单个服务的能力,而是要协调所有服务保证端到端业务流的成功
微服务编排是指将多个微服务组合成一个完整的业务流程或服务的过程,该模式下会有一个中控引擎:
◆按业务逻辑的蓝图,编排各微服务的调用关系
中控引擎
◆监控整个业务流的状态
◆提供机制处理单个服务的失败,保证整个业务流的成功;
当前状态下一状态
时钟状态更新逻辑
第四阶段:云原生流程引擎阶段;
二、工作流引擎技术选型;
服务器运营领域场景需求
提到“流程引擎”,联想到的都是缓慢、低吞吐的使用场景,比如人工审批任务等,但服务器运营领域的大部分
是程序化自动任务,吞吐高,任务流转快,传统流程引擎无法适应;;
zeebecluster
broker
gateway
DistributeReplicatebroker
gateway
broker;
新
Zeebe流程引擎
StreamProcessorRocksDB
LogStream-Partition-0
LogStream-Partition-1-Replica
LogStream-Partition-0-Replica
LogStream-Partition-1
StreamProcessorRocksDB
Broker-1
任务Handler
JobWorker
开机Task;
三、高可用架构落地实践;
01基于单集群的工作流服务体系建设;
0
17:1017:2017:3017:4017:5018:0018:1018:20
—received-18—received-4—received-5—received-6一queue-limit-11一queue-limit-12—queue-limit-16-queue-limit-17-queue-limit-18—queuelimit-4—queue-limit-5
一queue-limit-6—inflight-11—infight-12—inflight-16—inflight-1
文档评论(0)