还在为不能实习而苦恼吗?阿里巴巴编程之夏(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-23 21:39
点赞 回复 分享
发布于 2020-06-17 09:44
自己顶
点赞 回复 分享
发布于 2020-06-16 09:50
顶顶顶
点赞 回复 分享
发布于 2020-06-09 10:55
点赞 回复 分享
发布于 2020-06-05 17:42
点赞 回复 分享
发布于 2020-06-05 09:37
自己顶
点赞 回复 分享
发布于 2020-06-04 16:53

相关推荐

当指尖敲下最后一个字符,为学妹学弟们准备的分享 PPT 终于完成时,整个世界仿佛都安静了下来。夜色下的文广,空旷而肃穆,只有几盏路灯散发着昏黄的光晕,洒在冰凉的石板路上。思绪飘回大一下的那个起点,至今已是两年有余。还清晰记得第一次遇见 Java 的那个下午。当看到“一切皆对象”的优雅,摆脱了C++那恼人的指针和引用,一套 Spring Boot 仿佛就能“梭哈”整个世界时,内心那份惊喜与震撼,如同第一次窥见宇宙的奥秘,感觉自己仿佛掌握了世界上最美妙的语言,一种近乎信仰的狂热。那时的西三教学楼,水泥地面沾染着岁月的痕迹,又脏又破,一排六人的长桌,肩并肩,空气中弥漫着泡面的味道和青春特有的躁动。我像一块海绵,疯狂吸收着韩顺平老师视频里的 Java 基础知识,黑马点评、瑞吉外卖……这些如今看来或许简单的项目,在当时,却是我认知里的高山。当第一个项目历经无数次调试,终于在屏幕上成功跑起来的那一刻,那感觉,比第一次登录心心念念的赛尔号还要强烈。第一次鼓起勇气参加腾讯犀牛鸟开源项目,仿佛一脚踏入了另一个世界。名单上,南大的学生赫然过半,其余也皆是顶尖 985 的身影,博士、研究生比比皆是。看着自己的“211”标签,渺小得几乎看不见,是靠着填报院长名字才勉强挤入的“直通车”。群里的讨论飞速进行,各种高深的术语如同天书,每一次弹出新消息,都让我心头一紧,强烈的焦虑感如同潮水般涌来,我生怕这难得的机会因自己的无知而付诸东流。我索性,把“脸皮”这个东西暂时丢开, 怀着忐忑的心情,挨个去“骚扰”群里的各位大佬,小心翼翼地请教。虽然知识储备远远不及,但我凭着一股“东拼西凑”的蛮劲,把大佬们的指点和 GPT 生成的内容,像炖大杂烩一样,硬生生地整合起来。最终“顺利结业”四个字传来时,悬着的心终于落地,长舒一口气。紧接着,我又一头扎进了字节跳动青训营。这一次,我成为了组长,肩上多了份沉甸甸的责任。带着三个朋友,我们摸索着前进。开发过程异常艰难。如何调试?如何协调团队进度?这些都成了我夜不能寐的难题。最令人崩溃的是,一个队友直接用覆盖的方式将代码 push 到了我的分支,那一刻,我看着屏幕上消失的代码,感觉整个晚上的心血瞬间消失。但放弃?从未想过。我们咬着牙,在麦当劳嘈杂的人声里,在院楼深夜寂静的灯光下,在星巴克咖啡香气的陪伴中,一次次加班加点,奋力前行。当项目最终成功自测跑起来时,我们几个疲惫的脸上终于露出了笑容。现在回想,那个从零到一,从需求分析到数据库设计,再到代码测试一手包办的项目,虽然界面简陋得有些可笑,但那确确实实是我,一个技术小白,用无数个不眠之夜和笨拙的双手,一点点打磨出的、充满心血的结晶。尽管最后因为疏于项目部署,比赛方无法验收,未能顺利结业,留下了深深的遗憾。但那种第一次当团队owner的感觉,却是难以言表的。大二上的那小半年,现在回想起来,像是一段迷雾笼罩的时光。每天看似坐在图书馆,书本摊开,目光却常常失焦, 说是在学习,但知识仿佛都从指缝间溜走,没有真正沉淀进脑海。图书馆安静得能听到自己的心跳,窗外阳光明媚,我内心却是一片阴霾。看着那些埋头苦读的身影,再对比自己低效的“奋斗”,一种时间的空耗感和深深的自我怀疑不断啃噬着我。那时总在想,如果当时选择去实习,去真实的项目中摔打,而不是在校园的象牙塔里“沉淀”,会不会是另一番景象?幸运的是,大二下,一道光照了进来。通过继续教育学院的技术负责人 Leo 哥,我获得了一个宝贵的机会,加入了后端开发团队。这是我的第一段正式实习,带着一丝忐忑,更多的是对未知的兴奋。团队的氛围出乎意料地好,每个人都非常 nice。两位直系学长更是耐心得如同兄长,手把手地带着我修改项目中的 Bug。我惊叹于他们搭建的系统架构,那份精妙与优雅,让我看到了更高层次的技术世界。那段时间,我像上满了发条,每天都是第一个到达工位,办公室的灯光常常因我而亮起;晚上,当周围的键盘声渐渐平息,人影散去,我却依然留在空荡的办公室里,贪婪地阅读着他们的代码,试图理解每一个设计背后的深意。那是学习和生活都稳步向前的日子。清晨,我会迎着朝阳去操场跑步,感受汗水浸湿衣衫的畅快;回到宿舍,热一杯香浓的咖啡,开启一天的学习。体重不知不觉降了下来,整个人仿佛脱胎换骨,精神面貌焕然一新,算是一次成功的“爆改”。四月,恰逢江南梅雨季,天空总是灰蒙蒙的,暴雨说来就来,倾盆而下。我常常踩着湿漉漉的鞋,带着一身水汽冲进办公室,但内心却燃烧着一团火,仿佛拥有永远也用不完的精力。暑假,又一份幸运降临,参与了中国移动的线上实习。虽然隔着屏幕,沟通和协作多了些阻碍,项目最终的完成度也并非完美, 但这段经历,无疑又为我的开发经验库里增添了宝贵的一笔。大三上,我意识到,是时候真正走向社会,去争取一份中大厂的实习了。我小心翼翼地“包装”着自己的项目经历,像准备一件珍贵的展品, 然后开始海投简历。内心深处,对 BAT 那样高不可攀的名字,还存着一丝胆怯, 只敢在 Boss 直聘上,一遍遍地“骚扰”着中厂的 HR。每一次点击发送,都伴随着期待与不安。而那些石沉大海的“已读不回”,刺痛着我敏感的心。当小红书的面试官,语速飞快地说出一连串我闻所未闻的技术名词时,我坐在屏幕前,大脑一片空白,强烈的挫败感和自我怀疑瞬间将我包围:我真的可以吗?我还能有机会进入梦想中的大厂吗?就在这时,货拉拉向我伸出了橄榄枝,那封 Offer 邮件,如同黑夜中的灯塔,瞬间点亮了我的希望。 更令人兴奋的是,我将有机会参与到优惠券、活动这些核心业务中。我收拾行囊,踏上了南下的列车,成为了万千“深漂”中的一员。初到深圳,这座年轻而庞大的城市,对我来说全然陌生。目之所及,是鳞次栉比、直插云霄的高楼大厦,压迫感与繁华感并存。 而现实的骨感也迅速袭来:30 元一碗的猪脚饭,动辄 2000 元起步、半年起租的房租,都像一盆冷水,浇灭了我初来乍到的热情,让我望而却步。为了节省开支,抓紧一切时间学习,我买了张简易的床垫,在夜深人静、所有同事都下班后,偷偷铺在空旷的会议室冰凉的地板上。 那段日子,睡梦中都充满了警惕,生怕被巡逻的保安发现,更怕被同事撞见这窘迫的一幕。耳边时常传来深夜加班同事匆匆的脚步声,提醒着我这座城市永不停歇的节奏和自己的格格不入。我的工位,不幸地紧挨着厕所。每天下午固定的清洁时间,那刺鼻的消毒水味便会准时弥漫开来, 浓烈得让人无法忽视,我只能紧皱眉头,屏住呼吸,默默忍受。 而更让我焦虑的是,我的 Mentor 迟迟没有给我分配具体的开发需求。每天的工作,似乎都围绕着服务治理、权限申请、填写各种表格打转,我感觉自己快要变成一个“Excel Boy”。心中的迷茫和落差感越来越大,一度,强烈的跑路念头在脑海中盘旋。 但一想到自己几乎忘光的“八股文”,想到来之不易的机会,我不得不强行按捺住那颗躁动且迷茫的心。于是,我开始了疯狂的自救。我一头扎进了组内的文档库, 凭着一股不服输的劲头,几乎把货拉拉整个中台组的技术文档翻了个底朝天。 账号、会员、营销活动的核心链路,被我一点点摸索、串联起来;批量派发权益卡、活动接口的二级缓存设计、定时任务的原理、核心接口的 Token 降级方案……这些原本晦涩难懂的系统设计,都被我硬生生地“扒”了遍,理解了遍。至今还记得,那些独自留在工位,对着电脑屏幕刷力扣到深夜 11 点的夜晚,窗外城市的霓虹璀璨,室内只有键盘敲击的单调声响; 还记得,周末清晨,天还未亮,便爬起来去附近的公园跑山,用大汗淋漓对抗内心的焦虑; 还记得,每天雷打不动灌下两大杯黑咖啡,依靠咖啡因强行提神的苦涩与亢奋; 更记得,每个周末,拖着疲惫的身躯,往返于广州与深圳之间,高速公路上那仿佛永无止境的塞车,一堵就是两个小时,当终于抵达公司宿舍时,漆黑的夜幕早已低垂,仿佛宣告着新的一天又在奔波中开始了。不知不觉,三个月如白驹过隙。我的大三上,就在这紧张、充实,充满了汗水与挣扎的实习生活中,落下了帷幕。当 2 月 20 日,我郑重地投出第一份腾讯的简历时,我知道,我的暑期实习战役,已经提前打响。至今,我已经历了 19 场面试的洗礼。期间,也曾收到过两份其他大厂的 Offer,但我都婉言谢绝了。 留在广州,这个念头如同一种宿命,深深地烙印在我心里。可是,广州的大厂,又有多少呢?竞争的激烈可想而知。 但我依然坚信,付出了这么多努力,经历了这么多波折的我,一定能做到!此刻,我独自站在文广的中央,仰望着天上那轮清冷的下弦月。月光如水,静静地洒在这片熟悉的广场上,也洒在我的身上。 “明月曾照古人”,也照亮过无数个像我一样,心怀梦想与忧愁的人吧。思绪不由得飘回四年前,那个复读的夏天,我也是无数次站在这里, 或是放声歌唱,宣泄着青春的迷茫与希望;或是沉默不语,在夜风中细数着内心的焦虑与期盼。四年时光,弹指一挥间。 我仿佛还能看到当年那个青涩、懵懂、却眼神坚定的自己。转眼,我的大学时光已接近尾声,留在这片校园的日子,屈指可数。​
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

更多
牛客网
牛客企业服务