Skip to content
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

remove the dependency of grpc #1

Open
SeanHai opened this issue Jun 30, 2023 · 1 comment
Open

remove the dependency of grpc #1

SeanHai opened this issue Jun 30, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@SeanHai
Copy link
Collaborator

SeanHai commented Jun 30, 2023

Now curve-manager needs to rely on grpc when requesting data from the storage cluster, because the service of CurveBS storage cluster uses brpc server. But this will make curve-manager depend on curve proto. At present, although the rpc sending module is abstracted into a separate library ([email protected]:SeanHai/curve-go-rpc.git), and used as a submodule of curve-manager It is used, but it is still heavily dependent. Now it is expected to communicate with the curve storage cluster through the http protocol, because the brpc server supports the http protocol, so it can communicate directly through the http protocol, which can remove the dependence on the library curve-go-rpc .
At present, it mainly communicates with the mds service of the storage cluster. mds is in active/standby mode, and only the leader can process requests. Retry and error handling of http requests need to be considered.

Registration procedure

Step 1. Add a comment when you sign up.The purpose of comments is for us to understand you and determine whether you have the basic ability to complete this issue.

  • If you are a student, please introduce your school, major, programming language, technical fields of interest, what you are good at, and why you chose this issue.
  • If you are already working, please introduce your company, career, work content, technical fields of interest, and why you chose this issue.

Step 2. Use WeChat to add the Curve community assistant "Curve" as a WeChat friend, tell your GitHub ID, and send the Issue link of your choice. The assistant will invite you to communicate with the mentor by WeChat.

Step 3. In order to better complete each development task, the mentor will select the developer who best matches the issue based on everyone's comment on GitHub and communication status by WeChat. If you are not selected, please select another issue.

Tips

  • Before developing, please read the dev guideline( https://ask.opencurve.io/t/topic/201) carefully and communicate with your mentor.
  • Please submit a draft PR before 11.29, and the mentor will review it within 2-5 working days and may guide you to modify the PR based on the actual situation.
  • If you successfully merge into PR before 12.27 and you will receive gifts carefully prepared by the Curve community.
@FreddyGao
Copy link

Hello, I want to register for the coding camp and pick this issue.
I am a master's student at the University of Hong Kong and major in artificial intelligence and studied computer science in undergrad.
I do have some experience in go and Java and C++ and intersted in distributed system.
The reason why I choosing the issue is I have done some related work such like converting the rpc communicate to http and know some basic knowledge about raft and curve system. So I am confident to complete this issue.
I would cherish this opportunity and try my best to finish it if you could assign this issue to me.
Thank you ! ! !

@FreddyGao FreddyGao removed their assignment Nov 1, 2023
@FreddyGao FreddyGao mentioned this issue Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants