sofastack / sofa-registry

SOFARegistry is a production-level, low-latency, high-availability service registry powered by Ant Financial.
https://www.sofastack.tech/sofa-registry/docs/Home
Apache License 2.0
650 stars 246 forks source link

MultiProgrammLanguage - SOFABolt-Go library #174

Open seeflood opened 3 years ago

seeflood commented 3 years ago

Middlewares in SOFAStack use SOFABolt protocal to communicate with each other. Bolt protocal is designed and optimized for large scale clusters. There are bolt libraries for java,python,node,cpp,except Golang. In order to make sofastack's golang ecosystem better, we need to develop a bolt library in golang.

Reference

https://github.com/sofastack/sofa-bolt https://github.com/sofastack/sofa-bolt-python https://github.com/sofastack/sofa-bolt-node https://github.com/sofastack/sofa-bolt-cpp

byene0923 commented 3 years ago

ooohhhh!, I want to try it. is there any limit to develop a bolt library in golang or time limit? my basic thought using https://github.com/cloudwego/netpoll or https://github.com/panjf2000/gnet as network layer

seeflood commented 3 years ago

@byene0923 Cool! Regarding the selection of network lib,there is no specific limit,but please make sure you choose a project with active community.I noticed the later one in your prefered list has a higher star,maybe that one ?But i hasn't used it before and don't know whether it has some flaws,so the final choice depends on you.

Regarding deadline,maybe this month?Also,it can be negotiated.Deadline depends on you.If this month is not ok,you can give us a estimated finish time so that we can arrange subsequent tasks :>

byene0923 commented 3 years ago

so the library is to finish the three basic functions of sofabolt(https://github.com/sofastack/sofa-bolt)? and I see sofabolt has some feature depend on Netty not in the list of basic function

seeflood commented 3 years ago

so the library is to finish the three basic functions of sofabolt(https://github.com/sofastack/sofa-bolt)? and I see sofabolt has some feature depend on Netty not in the list of basic function

Good question. @zhenjunMa as the owner of bolt lib,could u give some advice on it?

zhenjunMa commented 3 years ago

@byene0923 yes! At the first version, we just need to finish the basic functions which i think maybe not easy, such as connection manager, decode/encode, serialization/deserialization, when you finish the first version, we can continue to improve it together. Any problems encountered during the development process, please feel free to call us.

seeflood commented 3 years ago

@byene0923 Hi,is there any other question? And should we assign it to u? ヽ(‘ー`)ノ

byene0923 commented 3 years ago

@seeflood no questions currently. sure, i will do it (๑・`◡´・๑)

seeflood commented 3 years ago

@seeflood no questions currently. sure, i will do it (๑・`◡´・๑)

Cool.I started a new repo and you can submit pull requests to it. If u met any problems,feel free to talk with us in github issues or dingtalk Our dingtalk group number is 34197075