还在为不能实习而苦恼吗?阿里巴巴编程之夏(ASoC)开始

OpenMessaging和RocketMQ社区联合宣布 ASoC 题目!


阿里巴巴编程之夏(Alibaba Summer of Code,以下简称ASoC)是面向全球18岁及以上本科、硕士、博士高校学生的编程普惠计划,鼓励高校学生深度参与开源开发活动,以第一视角感受开源世界的魅力,成为开源社区新鲜“血液”。ASoC 也会为高校学生们和开源软件、技术组织之间“搭桥梁”,成为高校学生走进企业或开源世界的阶梯,以阿里巴巴开源技术力量作为“推手”,让中国开源社区和开发者精英受到世界范围内的认可。


现在 OpenMessaging 和 Apache RocketMQ 社区 联合宣布 了2020 年 ASoC 的 三道 题目


Apache RocketMQ 重平衡架构优化


当前Apache RocketMQ Consumer端在集群模式下的重平衡过程如下:

每个消费者实例启动一个负载均衡服务线程,该线程定时向broker获取Group下的消费者实例列表,并对Topic下的消息队列(MessageQueue)、消费者实例(Consumer id)排序,然后用分配策略算法,计算出待拉取的消息队列。

这种实现在特定场景下存在较大的优化空间:

在某些场景下,每个消费者获取到的队列和消费者实例视图不一致,导致消费者负载混乱

负载均衡算法缺少粘性,队列或者消费者的增减会导致大量开销

本题目希望优化Apache RocketMQ重平衡架构,主要包括

改进当前负载均衡架构,负载均衡的计算在broker完成,客户端请求broker获取分配结果

为RocketMQ提供具有粘性的负载均衡算法,在队列分尽可能平均的情况下保证和上次分配结果尽量相同

在OpenMessaging-Chaos中实现负载均衡评估手段。


Knative Channel for Apache RocketMQ


Knative是一个基于kubernetes用于构建,部署和管理现代的无服务器应用程序的平台。Knative提供了一组中间件组件,这些组件对于构建可在任何地方运行以源为中心和基于容器的应用程序必不可少。Knative由服务和事件组件组成。事件处理旨在满足云原生开发的普遍需求,并提供可组合的原语以实现后期绑定事件源和事件使用者。事件还定义了事件转发和持久层,称为Channel。每个Channel都是一个单独的Kubernetes自定义资源。


RocketMQ Channel主要定位是为Knative平台提供数据持久化以及事件分发。RocketMQ Channel主要功能有RocketMQ集群管理(包括集群参数配置、Topic维护)、事件接收、事件存储以及事件分发。RocketMQChannel不会直接存储事件,而是通过调用RocketMQ Go 客户端将事件存储到RocketMQ集群。RocketMQChannel是Kubertenes的CRD,可以通过kubectl apply 部署。RocketMQChannel具体包括Controller、Dispatcher、Clent-Go三个组件。


本题目希望你能实现一个RocketMQ Channel,包括

根据RocketMQ Channel的需求,学习RocketMQ Go Client,并实现需要的Admin Tool指令

实现RocketMQ Channel的相关组件。


OpenConnect Runtime 优化


OpenMessaging是云原生、厂商中立的分布式消息开放规范的集合。其中OpenConnect 通过遵循OpenMessaging Connect API而不是特殊的Message Queue的API,开发人员可以避免为不同的消息队列构建connector插件。OpenMessaging还提供了一个OpenConnect Runtime,该规范为OpenConnect提供了群集管理,调度,资源分配和负载平衡功能。 RocketMQ Runtime 实现 OpenConnect Runtime。

本题目希望你能优化OpenConnect Runtime,包括

优化OpenConnect Runtime中的file connector,提供一键运行quick start脚本。

完成Cassandra connector的开发,在开发过程中优化Runtime。

优化OpenConnect Runtime集群间配置、位点同步机制,解决新加入worker启动速度过慢的问题。

优化OpenConnect Runtime配置信息存储格式,使其更加容易管理。

优化connector加载机制,增加配置决定connector的启动顺序以及是否启动。

优化restful接口,提升易用性,增加全量启动停止以及针对connector/task层级的生命周期管理。

完成OpenConnect Runtime docker镜像打包。

完善文档。

其他易用性的优化提升。


Apache RocketMQ和OpenMessaging社区 欢迎 同学们踊跃报名。


在这里,你将有机会获得


一笔丰厚的奖学金;

一条进入阿里云的绿色招聘通道;

一个具有重要价值的开源贡献者证书;

一份参与国际开源基金会顶级项目的难得经历;


大牛导师、全球化的视野、平台和资源


这些收获,不仅仅是未来求职简历上浓墨重彩的一笔,更是向高阶开源贡献者晋级的闪亮起点。



招募对象


年满 18 周岁,并且是全日制或非全日制的在校学生(本科、硕士、博士)。

欢迎脑洞巨大、想法多多、动手能力强、编程一级棒,既能仰望星空又能脚踏实地的热血青年。


活动流程


ASoC 活动日期为2020年 5 月 25 日-9月5日,学生可以利用暑期时间参与到开源项目中,全程线上协作,无须线下参与。

05-25,查看开源项目idea list并提交提案;

06-30,零点截止提交提案,只接收官网申请;

07-07,公布入选名单,以收取确认邮件为准;

07-12,项目启动,须保证每周40个小时的coding工作;

08-01,项目中期评估,导师在线保驾护航;

08-28,项目最终评估,综合打分多维评估;

08-31,宣布最终结果,公布结业名单;

09-05,结业典礼,更多惊喜。


报名方式


ASoC官网,按照要求填写申请表格并提交

报名链接:https://developer.aliyun.com/topic/summerofcode2020



夏天 x 编程 = Alibaba Summer of Code!我们期待着你的畅所欲言,期待着你的灿烂笑颜,期待着你与OpenMessaging和Apache RocketMQ 结缘!


参考链接:

ASoC题目:https://github.com/apache/rocketmq/issues/2026

GSoC题目:https://github.com/apache/rocketmq-externals/issues/512

#比赛#
全部评论
帮顶😁
1 回复
分享
发布于 2020-06-05 13:12
自己顶
点赞 回复
分享
发布于 2020-06-04 16:53
淘天集团
校招火热招聘中
官网直投
点赞 回复
分享
发布于 2020-06-05 09:37
点赞 回复
分享
发布于 2020-06-05 17:42
顶顶顶
点赞 回复
分享
发布于 2020-06-09 10:55
自己顶
点赞 回复
分享
发布于 2020-06-16 09:50
点赞 回复
分享
发布于 2020-06-17 09:44
自己顶
点赞 回复
分享
发布于 2020-06-23 21:39

相关推荐

头像
03-05 09:50
C++
点赞 评论 收藏
转发
2 2 评论
分享
牛客网
牛客企业服务