mosn / layotto

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

Develop a new component for delay queue API; 为"延迟消息 API"开发新的组件 #840

Open seeflood opened 1 year ago

seeflood commented 1 year ago

What would you like to be added:

Develop a new component for delay queue API.

Choose an open source component or cloud service you like to implement this API.

For example, you can choose any one in the list below:

What is this API used for?: DelayQueue is a special kind of message queue, which lets you postpone the delivery of new messages to consumers. For example, you can invoke this API and tell the message queue "please send this message to the consumers after 5 minutes".

Reference:

Here are some resources to help you work on this issue.

API definition(the .proto file): https://github.com/mosn/layotto/blob/main/spec/proto/extension/v1/delay_queue/delay_queue.proto

Component development guide: https://mosn.io/layotto/#/en/development/developing-component

Component development guide(in chinese): https://mosn.io/layotto/#/zh/development/developing-component

An example pull request to develop a new component: #807

API design doc/discussion: https://github.com/mosn/layotto/issues/617

chinese: 选择一个你喜欢的开源组件或云服务实现延迟消息 API, 参考资料见上。

Why is this needed:

We need more components to make this API useful

DhirajSardar commented 1 year ago

Hey! Can point me to some resources so that I can work on this issue?

seeflood commented 1 year ago

@DhirajSardar Hi, welcome to the community!

Here are some resources to help you work on this issue.

Component development guide: https://mosn.io/layotto/#/en/development/developing-component

An example pull request(azure service bus) : https://github.com/mosn/layotto/pull/807

API definition( .proto file): https://github.com/mosn/layotto/blob/main/spec/proto/extension/v1/delay_queue/delay_queue.proto

API reference: https://mosn.io/layotto/api/v1/delay_queue.html

API design doc/discussion: https://github.com/mosn/layotto/issues/617 (The design discussion is in Chinese)

If you still don't understand it after reading the resources, you can ask for help. I'm working on adding an English document

DhirajSardar commented 1 year ago

Do I have to use Golang for developing component?

seeflood commented 1 year ago

@DhirajSardar Yes, we have to develop components in golang

zach030 commented 1 year ago

I am willing to implement it with RocketMQ

seeflood commented 1 year ago

Thanks @zach030 , long time no see 😆 You can submit an issue to track progress

zach030 commented 1 year ago

@seeflood Hi, 目前dapr中的rocketMQ支持的可参数比较少,尚不支持DelayTimeLevel参数,等待这个PR合并之后可以继续rocketMQ延迟队列的开发 https://github.com/dapr/components-contrib/pull/2198

seeflood commented 1 year ago

@zach030 OK. Looks good

shawnh2 commented 1 year ago

Hi, I'm willing to take the RabbitMQ

seeflood commented 1 year ago

@ShawnHXH Thanks! welcome to the community! You can submit an issue to track progress