搜索

pdf文档 GSoC 2020 Apache Proposal Apache RocketMQ Scaler for KEDA

140.48 KB 7 页 0 下载 102 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档提出了为KEDA实现Apache RocketMQ支持的项目提案。KEDA是一个用于事件驱动型应用的自动伸缩工具,旨在通过RocketMQScaler实现基于RocketMQ消息队列的自动伸缩功能。提案包括环境配置、RocketMQScaler的实现、与社区的协作、测试验证以及项目的时间安排和交付成果。文档详细描述了RocketMQScaler的核心逻辑、测试用例、部署流程以及与KEDA的集成方案。
AI总结
# 《GSoC 2020 Apache Proposal Apache RocketMQ Scaler for KEDA》总结 ## 项目背景 KEDA(Kubernetes Event-Driven Autoscaling)是一个用于事件驱动型应用的自动扩缩容工具,支持基于事件(而非CPU或内存)进行扩缩容,并可与多种消息队列(如AWS、Azure、Kafka、MySQL等)集成。然而,KEDA目前不支持Apache RocketMQ。 ## 项目动机 - 实现RocketMQ与KEDA的集成,填补KEDA对RocketMQ支持的空白。 - 为KEDA增加新的Scaler,支持基于RocketMQ消息队列的自动扩缩容功能。 ## 主要工作内容 1. **实现RocketMQ Scaler**: - 支持多种消息类型:顺序消息、广播消息、计划消息、批量消息、过滤消息、日志追加消息、事务消息等。 - 实现Scaler功能,包括: - 检测RocketMQ队列是否有待处理消息。 - 获取RocketMQ消息。 - 提供扩缩容所需的指标。 - 管理RocketMQ连接。 2. **测试**: - **本地环境测试**:搭建RocketMQ Name Server和Broker,测试消息的发送、接收、广播、计划、批处理、过滤等功能。 - **KEDA集成测试**: - 部署KEDA,配置ScaledObjects,验证扩缩容功能。 - 测试不同负载下(如消息队列长度增加)部署的自动扩展。 - 验证当队列为空且达到冷却期后,部署自动缩减至零。 3. **交付成果与时间表**: - **环境配置与代码克隆**:安装JDK、Maven、Git等工具,搭建RocketMQ和KEDA的本地开发环境。 - **功能开发**:实现Scaler逻辑,完成代码编写与测试。 - **代码审查与文档编写**:完成代码审查,撰写最终文档以供评审。 4. **解决方案**: - 使用Go语言开发RocketMQ Scaler,集成到KEDA中。 - 通过Custom Resource Definitions(CRD)定义事件源(RocketMQ)与目标部署的映射。 5. **架构设计**: - **核心组件**: - **RocketMQ运行时环境**:本地或容器化部署RocketMQ。 - **Open Messaging Connect API**:支持RocketMQ与其他消息系统的互操作性。 - **主要缩放处理器**:实现Scaler逻辑,处理扩缩容请求。 - **测试模块**:包括单元测试、集成测试和端到端测试。 6. **资源**: - 提供了多个GitHub仓库和文档链接,供进一步研究和参考,如KEDA源码、RocketMQ操作符、KEDA仪表盘等。 ## 总结 该项目旨在为KEDA增加对Apache RocketMQ的支持,通过实现RocketMQ Scaler,实现基于事件的消息队列自动扩缩容功能。项目分为多个阶段,从环境配置、代码开发、测试到最终的文档编写,确保功能的完整性和稳定性。通过该实现,用户能够更灵活地在Kubernetes环境中管理基于RocketMQ的事件驱动型应用。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.