Skip to content

Open Source Promotion Plan Summer 2020 Apache Pulsar Tasks

Jia Zhai edited this page May 18, 2020 · 10 revisions

This page contains the tasks for program https://isrc.iscas.ac.cn/summer2020

Introduce

This program is hosted by ISCAS(Institute of Software Chinese Academy of Sciences) and openEuler community. It is very similar with Google Summer of Code. This year(2020) is their first time to host this event. Apache Pulsar has been selected as one program project.

Program home page, https://isrc.iscas.ac.cn/summer2020/#/

Apache Pulsar introduce

  1. Project Name: Apache Pulsar

  2. Website: http://pulsar.apache.org

  3. Project Introduction:

    Apache Pulsar is a cloud-native, distributed messaging and streaming platform that manages hundreds of billions of events per day. Pulsar was originally developed and deployed inside Yahoo as the consolidated messaging platform connecting critical Yahoo applications such as Yahoo Finance, Yahoo Mail, and Flickr, to data. Pulsar was contributed to open source by Yahoo in 2016 and became a top-level Apache Software Foundation project in 2018. Apache Pulsar has been used in a lot of companies: https://pulsar.apache.org/en/powered-by/

  4. Tags: Distributed system, messaging system, streaming platform, Big Data, Infrastructure.

Tasks

1. Pulsar .NET/C# client feature catch up:

  1. Description: Recently community contributed .NET/C# client library for Apache Pulsar. But lack of some of the features in Pulsar main repo. This task is to catch up the missing features in .NET/C# client.
  2. Level: Middle
  3. Mentor: Jia Zhai (翟佳), email: zhaijia@apache.org
  4. Requirements: familiar with C# language.
  5. OutPut:
    • complete related features catch up.
    • Add unit test for each feature.
    • PRs get reviewed and merged into repo.
  6. Related Repo: https://github.com/apache/pulsar-dotpulsar

2. Schema independent from the topic

  1. Description: Schema is widely used in data storage systems and Apache Pulsar uses Apache Avro to manage schemas such as schema definition, evolution, and data encoding. Currently, schemas are stored for each topic. In the scenario where the same schema is used for different topics, we store redundant schemas. This task is aimed to support the same schema that can be reused between different topics, make schema independent from the topic. And while being compatible with the existing architecture.
  2. Level: Middle
  3. Mentor: Penghui Li(李鹏辉), email: penghui@apache.org
  4. Requirements: familiar with Java language.
  5. Output:
    • complete the feature
    • Add unit test for the feature
    • Add compatibility test
    • PRs get reviewed and merged into repo.

3. Read compacted topic in Pulsar SQL

  1. Description: Compacted topic compact the history version message of the same message key. This is more like a row update in the database. Pulsar SQL can query data and analyze data from Pulsar topics. Currently, Pulsar SQL can't read data from the compacted topic, this task is to support reading data from the compacted topics in Pulsar SQL.
  2. Level: Middle
  3. Mentor: Ran Gao(高冉), email: gaoran_10@126.com
  4. Requirements: familiar with Java language.
  5. Output:
    • complete the feature
    • Add unit test for the feature
    • PRs get reviewed and merged into repo.

4. Pulsar Go client feature catch up:

  1. Description: Recently community contributed go client library for Apache Pulsar. But lack of some of the features in Pulsar main repo. This task is to catch up the missing features in go client.
  2. Level: Middle
  3. Mentor: Xiaolong Ran (冉小龙), email: rxl@apache.org
  4. Requirements: familiar with go language.
  5. OutPut:
  6. Related Repo: https://github.com/apache/pulsar-client-go

As the requirements from the Sponsor, we need also to provide a Chinese version.

简介

今年,中科院软件所与华为 openEuler 项目共同举办了 “开源软件供应链点亮计划——暑期2020” 项目。该项目与 Google Summer of Code 形式类似:开源社区提供项目需求并提供导师(mentor),在校学生利用暑期时间进行开发,主办方为顺利完成的项目提供一定额度的奖金。无论 GSoC 还是这次的“点亮计划”,都是一种非常好的开源实践范式,能够有效地增进高校学生对开源的理解、增加与真实社区的接触,并积累宝贵的经验。

项目主页

https://isrc.iscas.ac.cn/summer2020/#/

Apache Pulsar 简介

  1. 项目名称: Apache Puslar
  2. Apache Pulsar 项目官网: http://pulsar.apache.org
  3. Apache Pulsar 简介: Apache Pulsar 是云原生的下一代发布订阅消息系统和流数据平台。Pulsar 用于解决现有开源消息系统的不足,助力 Yahoo 的主要应用,如 Yahoo Mail、Yahoo Finance、Yahoo Sports、Flickr、Gemini 广告平台和 Yahoo 的分布式键值存储系统 Sherpa。Pulsar 于 2016 年底开源,目前是 Apache 软件基金会的顶级项目。

“开源软件供应链点亮计划——暑期2020”任务清单“ -- Apache Pulsar

1. 丰富 Pulsar .NET 客户端相关功能

  1. 项目标题:丰富 Pulsar .NET 客户端相关功能
  2. 项目描述:Pulsar .NET/C# 客户端是近期刚刚捐献给 Apache Pulsar 的一个新项目。现在 Pulsar .NET 客户端 已经具备了基础的 Pub/Sub 功能,但是缺少其他一些Java Client 具备的高级的功能。这个项目参与者可以和导师协商感兴趣的功能,理解现有的 Java 客户端的高级功能,并在 .NET 的client 端中进行相关的实现。这个项目为参与者提供消息系统的高级功能的深入理解。
  3. 项目难度: 中
  4. 项目导师: jiazhai (翟佳), email: zhaijia@apache.org
  5. 项目产出要求:
  • 完成相关功能的实现。
  • 完成单元测试和集成测试。
  • 完成 PR 的发布,解决社区的 Review Comments,并合并到 Apache 代码库中。
  1. 项目技能要求:
  • .NET/C#
  1. 相关开源软件仓库列表: https://github.com/apache/pulsar-dotpulsar
Clone this wiki locally