wordpress数据输出,深圳高端seo外包公司,网站开发的流程图和原型图,nginx做网站简介 弹性资源组件提供动态资源能力#xff0c;是分布式系统关键基础设施#xff0c;分布式datax#xff0c;分布式索引#xff0c;事件引擎都需要集群和资源的弹性资源能力#xff0c;提高伸缩性和作业处理能力。 本文介绍弹性资源组件的设计#xff0c;包括架构设计和详… 简介 弹性资源组件提供动态资源能力是分布式系统关键基础设施分布式datax分布式索引事件引擎都需要集群和资源的弹性资源能力提高伸缩性和作业处理能力。 本文介绍弹性资源组件的设计包括架构设计和详细设计指导开发人员代码开发设计基于《flink原理源码分析(一) 集群与资源k8s》抽出作业管理器包括其内部的调度器通用化为资源消费者标准化与资源管理器和任务管理器的交互接口增加约束如组件间通讯rpc组件高可用组件心跳组件等最大程度使用原flink代码后续的迭代不断标准化抽象化交互接口支持不同的实现。 本文是弹性资源组件设计最后一章描述任务管理器的设计和资源消费者规范
技术架构 弹性资源组件的技术架构图其中作业管理器接入系统提供需实现与资源管理器和任务管理器的交互 还有一些技术要求。
总体架构是master-workermaster的高可用是k8s的复制机制提供选主机制k8s提供作业管理器和资源管理器参与选主作业管理器/任务管理器接入资源管理器主节点监听获取最新资源管理器作业管理器接入作业管理器主节点监听获取最新的作业管理器主节点
数据架构资源是组件的核心数据分两条线a线 现有资源b线 待定资源
4资源请求-5a 分配可用资源- 6a 请求使用资源- 7a 提供资源-8a 提交任务4资源请求-5b 分配待定资源- 6b 请求新worker- 7b 启动任务管理器-8b 注册/报告资源
a线是分配现有资源b线请求新资源新资源注册后是现有资源在a线分配
组件架构 上图弹性资源组件架构作为SDK提供RPCslot池心跳高可用等组件支持这些组件有约束的有可选用的
任务管理器模块
任务管理器资源的拥有者负责报告资源槽执行任务 《提供资源》是《请求使用资源》的关联用例任务管理器向资源消费者确认提供资源消费者所需资源
请求使用资源/提供资源
资源管理器分配资源匹配了合适的空闲资源slot资源管理器请求资源所在的任务管理器使用资源任务管理器确认使用后通知资源使用者 资源管理器向资源所在的任务管理器TaskExecutor发出使用请求requestSlotTaskExecutor调用allocateSlotForJob登记资源使用登记信息包括jobId, slotId, allocationId, resourceProfile, targetAddress等TaskExecutor rpc-offerSlots通知ResourceConsumer确认提供该资源ResourceConsumer转交SlotPool的offerSlots处理同样最终处理是DeclarativeSlotPoolDeclarativeSlotPool的matchOfferWithOutstandingRequirements匹配offerSlot与未完成的资源请求构建AllocatedSlot最后AllocatedSlot放入分配池AllocatedSlotPool返回接收的offerSlots给TaskExecutor处理没有匹配部分没有使用无需返回
本节描述基于资源消费者使用弹性资源提供的slot池组件管理获提供的资源资源消费者也可自行实现资源管理
提交任务/载入和启动任务
资源消费者获得资源后提交任务配置包括任务的类型和参数任务管理器启动任务
资源消费者规范
本节介绍系统使用弹性资源组件的规范系统接入弹性资源组件提供资源消费者实现
资源消费者需接入弹性资源的高可用机制任务管理器监听资源消费者主节点变更资源消费者需使用弹性资源的rpc组件实现规范的输入和输出接口资源消费者与资源管理器和任务管理器间的心跳(HeatBeat)以及实现心跳超时资源的释放重连