opencurve / curve-manager

curve-manager is the web-based management system of the curve, providing users with a clearer and more convenient management portal
Apache License 2.0
5 stars 6 forks source link

remove the dependency of grpc #1

Open SeanHai opened 1 year ago

SeanHai commented 1 year ago

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 (git@github.com: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.

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

FreddyGao commented 1 year ago

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 ! ! !