-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SoC] Apache RocketMQ Channel for Knative #569
Comments
Hi @RongtongJin ! I'm quite interested in this project for asoc. Do you suggest me starting from studying rocketmq-client-go, or do you have some other guideline/evaluation tasks or suggestions to get familiar with this project? |
@Yiyiyimu, Welcome to the RocketMQ community. It is recommended that you learn RocketMQ Go Client. You need to understand the basic concepts of RocketMQ and how to use it. In addition, you need to learn and understand Knative for this project. Looking forward to your participation. |
Thank you for your suggestions! |
Hi @RongtongJin , sorry for the delayed reply, I've been caught by the graduation project a bit. I just get myself familiar with RocketMQ & Go Client and Knative. I want to make clear that if I could say the two requirements are:
Thank you for your reply and hope I could finish my proposal on time! |
Hi @Yiyiyimu Glad to hear from you again. For two questions: 1. You do not need to migrate all but only the functions you need to use. 2. Sorry for the misspelling of words misled you. 'Clent-Go' means 'client go’ and is part of rocketmq channel. In addition, you can certainly refer toimplemention of Kafka channel for Knative. Finally, looking forward to your proposal. |
Thank you @RongtongJin for your prompt reply! |
Knative is a kubernetes based platform for building, deploying and managing modern serverless applications. Knative to provide a set of middleware components that are essential to building modern, source-centric, and container-based applications that can run anywhere: on-premises, in the cloud, or even in a third-party data centre. Knative consists of the Serving and Eventing components. Eventing is a system that is designed to address a common need for cloud-native development and provides composable primitives to enable late-binding event sources and event consumers. Eventing also defines an event forwarding and persistence layer, called a Channel. Each channel is a separate Kubernetes Custom Resource.
RocketMQ Channel is to provide data persistence and event distribution for the Knative platform. The main functions of RocketMQ Channel are RocketMQ Cluster management (including cluster parameter configuration and topic maintenance), event reception, event storage, and event distribution. Instead of storing events directly, RocketMQ Channel stores events to the rocketmq cluster by calling the RocketMQ Go client. RocketMQ Channel is Kubertenes CRD and can be deployed through kubectl apply. RocketMQ Channel includes three components: controller, dispatcher and clent go.
This topic requires you to implement RocketMQ Channel, including
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、Client-Go三个组件。
本题目希望你能实现一个RocketMQ Channel,包括
1.根据RocketMQ Channel的需求,学习RocketMQ Go Client,并实现需要的Admin Tool指令
2.实现RocketMQ Channel的相关组件。
The text was updated successfully, but these errors were encountered: