mosn / layotto

A fast and efficient cloud native application runtime
http://mosn.io/layotto/
Apache License 2.0
817 stars 168 forks source link

Community tasks 新手任务计划 #108

Open seeflood opened 3 years ago

seeflood commented 3 years ago

Community tasks

As a programming enthusiast , have you ever felt that you want to participate in the development of an open source project, but don't know where to start? In order to help everyone better participate in open source projects, the MOSN community will regularly publish community tasks to help everyone learn by doing!

Task List

Tasks of different difficulty are released:

Easy

Layotto runtime

Bug fix

Write a Feature

Comment related

SDK related

Document related

Translation

Tests related

Components

in-memory components

See https://github.com/mosn/layotto/issues/67#issuecomment-975134341 We want to let users and sdk developers run our demo without go , docker and back-end storage (e.g. redis) pre-installed. To achieve this goal, we need to add in-memory components,including:

You can take the in-memory state store component as an example,see #327

Medium

Add support for Dapr API

We want Layotto to support both Layotto API and Dapr API. In this way, if users are worried about vendor lock-in, they can use Dapr SDK to switch between Layotto and Dapr freely. You can refer to: https://github.com/mosn/layotto/issues/361 https://github.com/mosn/layotto/pull/362

SDK

Actuator

File api implementation

Distributed Lock API

Engineering

Currently we use github actions as ci/cd pipeline, and the configuration file is here You can refer to some github actions high-quality tutorials:

https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html

http://www.ruanyifeng.com/blog/2019/12/github_actions.html

Hard

Observability

Runtime API Lab

Hard

530

WASM Lab

If you are interested, you can reply and we will assign the task to you

Kubernetes Lab

Istio

seeflood commented 3 years ago

chinese:

新手任务计划

作为技术同学,你是否有过“想参与某个开源项目的开发、但是不知道从何下手”的感觉? 为了帮助大家更好的参与开源项目,MOSN社区会定期发布适合新手的新手开发任务,帮助大家learning by doing!

任务列表

任务分为不同难度:

上手攻略

新手攻略:从零开始成为 Layotto 贡献者

Easy——从这里开始,成为Layotto Contributor!

Layotto runtime

Bug fix

Write a Feature

注释相关

文档相关

翻译

英翻中

中翻英

SDK相关:

测试相关:

Components

in-memory components

https://github.com/mosn/layotto/issues/67#issuecomment-975134341 我们想让用户和sdk开发者不用装go,docker和存储系统(比如redis)就能跑起来layotto,减少上手门槛。 为了实现这个目标,我们需要添加in-memory 组件,在内存里增删改查。包括:

You can take the in-memory state store component as an example,see #327

Medium——来实现一些很酷的feature吧!

Layotto支持Dapr API

我们想让 Layotto 既支持 Layotto API,又支持Dapr API。这样用户如果担心厂商绑定,可以使用Dapr SDK,在Layotto和Dapr之间自由切换。 您可以参考: https://github.com/mosn/layotto/issues/361 https://github.com/mosn/layotto/pull/362

SDK

Actuator

WASM相关

File Api相关

laytto现在添加了file接口的抽象,默认支持了aliyun的oss的能力,现在需要增加其它的后端文件存储组件。可以参照https://github.com/mosn/layotto/issues/98 , https://github.com/mosn/layotto/issues/236

Sequencer API相关

分布式锁API相关

注意在实现分布式锁之前需要谨慎评估一下这个存储组件是否适合实现分布式锁,会不会很容易出现丢锁、死锁等问题?分布式锁没法保证100%的正确性,但我们也要尽量保证正确,尽量为用户屏蔽复杂的问题~

Mongo的ttl是分钟级可能会太久、异步复制可能丢锁,但是好像能改服务端配置改成同步复制?(我刚查到一篇博客 说能),Cassandra组件我还没有细看,看ShedLock 实现了Cassandra于是就加进来了。总之需要开发者在设计时仔细评估哈~

工程化相关

目前ci/cd使用github actions,配置文件在这里 可以参考一些github actions优质教程:

https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html http://www.ruanyifeng.com/blog/2019/12/github_actions.html

可观测性

Metrics

Hard——成为中间件大师!

可观测性

Runtime API Lab

开发更多的 API 插件

530

WASM Lab

Kubernetes Lab

Istio

tianjipeng commented 3 years ago

I want to add unit tests for rpc related code, please assign to me

seeflood commented 3 years ago

I want to add unit tests for rpc related code, please assign to me

Cool. Feel free to ask for help, and welcome to the community! If you find github conversation inconvenient to communicate,we can chat on dingtalk (in chinese,haha) Our dingtalk group is 31912621

oneyue610 commented 3 years ago

Hello, I am interested in adding unit tests for WASM related code. Could you please let me try to do it?

seeflood commented 3 years ago

Hello, I am interested in adding unit tests for WASM related code. Could you please let me try to do it?

Welcome! You can reply the issue #105 so that I can assign it to you. If you encounter any problems,feel free to ask for help in github conversation or dingtalk. Webassembly is a cool new tech.I like it too :)

stulzq commented 3 years ago

I want to impl etcd lock, please assign to me

seeflood commented 3 years ago

@stulzq Cool! I added a issue #127. You can reply there and then we can assign it to you

seeflood commented 3 years ago

New tasks added

ZLBer commented 3 years ago

I want to add java client base on protobuf , assign to me?

seeflood commented 3 years ago

I want to add java client base on protobuf , assign to me?

Ok, I will assign it to you! @MoonShining is developing a rpc method for java client, I think you can add any other features for java sdk

seeflood commented 3 years ago

New tasks added:

stulzq commented 3 years ago

Sequencer API impl: mongo & Leaf, pls assign to me

seeflood commented 3 years ago

Sequencer API impl: mongo & Leaf, pls assign to me

Cool!

ZLBer commented 3 years ago

Sequencer API impl: zk & standalone redis, pls assign to me

seeflood commented 3 years ago

Sequencer API impl: zk & standalone redis, pls assign to me

Cool!

ZLBer commented 3 years ago

segment caching assign to me , pls

seeflood commented 3 years ago

segment caching assign to me , pls

Ok. @ZLBer is so good!

seeflood commented 3 years ago

Added some engineering related tasks:

seeflood commented 3 years ago

New tasks added:

seeflood commented 3 years ago

New tasks added:

byene0923 commented 3 years ago

Hi, Sequencer API related: snowflake algorithm (need to avoid clock rollback problems) could this refer https://github.com/baidu/uid-generator? uid-generator can avoid clock rollback problems but it depends on db if can be done, we just need to implement the go version uid-generator

keleqnma commented 3 years ago

为RPC API添加接口文档.See https://mosn.io/layotto/#/en/api_reference/rpc/reference, assign to me , pls

seeflood commented 3 years ago

@byene0923 I haven't used that library before,but I think any existing system which is suitable for id generation can be integrated as a component.So welcome to implement it !

if can be done, we just need to implement the go version uid-generator

Yep,but I am worried that will there be too much work to do? Will the workload be too great? I am not familiar with this library

seeflood commented 3 years ago

为RPC API添加接口文档.See https://mosn.io/layotto/#/en/api_reference/rpc/reference, assign to me , pls

@keleqnma Cool! Thanks for your passion and welcome to the Layotto community! I opened a new issue https://github.com/mosn/layotto/issues/185 ,you can reply there so that I can assign it to you.

seeflood commented 3 years ago

New task added:

keleqnma commented 3 years ago

I want to implement the snowflake algorithm, assign to me pls

seeflood commented 3 years ago

@keleqnma Thanks for your passion! I add a new issue https://github.com/mosn/layotto/issues/193 You can reply there so that I can assign to you. If you are not confident about how to implement it,you can write your design before coding Feel free to talk with us in github or dingtalk. I'm on vacation this week but @zhenjunMa is willing to help 😄

zach030 commented 3 years ago

WASM Function access cache through state API, assign to me pls

seeflood commented 3 years ago

@zach030 Cool,you can reply in the issue #192 so that we can assign it to u. If you are not confident about how to implement it,you can write your design before coding. Feel free to ask us for help

seeflood commented 3 years ago

New tasks added:

x-shadow-man commented 3 years ago

hi,i wanna translate, pls assign me, thx a lot.

将文档贡献指南翻译成英文 将组件开发指南翻译成英文 将新增API时的开发规范翻译成英文

seeflood commented 3 years ago

将文档贡献指南翻译成英文 将组件开发指南翻译成英文 将新增API时的开发规范翻译成英文

@x-shadow-man OK,I add a new issue #202 You can reply there and then we can assign it to you Welcome to the Layotto community!

seeflood commented 3 years ago

New tasks added:

MentosL commented 3 years ago
  • Hard

I can take hard, assign to me PLS

seeflood commented 3 years ago

@MentosL Cool ! I submitted a issue and assigned it to u,see #212 Since this issue is a little bit complicated,u can write your design before coding to avoid rework. You can take sequencer API proposal https://github.com/mosn/layotto/issues/139 or pubsub API design doc https://mosn.io/layotto/#/zh/design/pubsub/pubsub-api-and-compability-with-dapr-component as examples

MentosL commented 3 years ago

@MentosL Cool ! I submitted a issue and assigned it to u,see #212 Since this issue is a little bit complicated,u can write your design before coding to avoid rework. You can take sequencer API proposal #139 or pubsub API design doc https://mosn.io/layotto/#/zh/design/pubsub/pubsub-api-and-compability-with-dapr-component as examples

Ok, I'll refer to the design and then put it into development

seeflood commented 3 years ago

New tasks added:

seeflood commented 2 years ago

New tasks added:

whalesongAndLittleFish commented 2 years ago

hello,I want to impl redis cluster lock, please assign to me

seeflood commented 2 years ago

@whalesongAndLittleFish Cool! I opened a new issue #249 and listed the docs you can refer to. You can reply there so that I can assign it to you

fengmk2 commented 2 years ago

Node.js SDK 我可以尝试领一下,时间不一定保证,未来几个周末我会至少保证每周2小时投入。

seeflood commented 2 years ago

Node.js SDK 我可以尝试领一下,时间不一定保证,未来几个周末我会至少保证每周2小时投入。

@fengmk2 欢迎大佬加入!!我建了个issue,assign 给您 https://github.com/mosn/layotto/issues/258 时间比较随意,毕竟开源不是上班~ 现在go sdk和java sdk没文档,我们尽快补充文档,如果您在实现过程中遇到啥问题可以在github或者群里和我们讨论

seeflood commented 2 years ago

New tasks added:

seeflood commented 2 years ago

New tasks added:

seeflood commented 2 years ago

New tasks added:

seeflood commented 2 years ago

New tasks added:

seeflood commented 2 years ago

New tasks added:

ZLBer commented 2 years ago

@seeflood Integrate with skywalking assign to me ,pls

seeflood commented 2 years ago

@ZLBer Cool ! I added an issue and already assigned to you. See https://github.com/mosn/layotto/issues/310

seeflood commented 2 years ago

New tasks added: