sofa-registry icon indicating copy to clipboard operation
sofa-registry copied to clipboard

MultiProgrammLanguage - SOFABolt-Go library

Open seeflood opened this issue 4 years ago • 8 comments

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

seeflood avatar Aug 06 '21 03:08 seeflood

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

byene0923 avatar Aug 08 '21 06:08 byene0923

@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 :>

seeflood avatar Aug 09 '21 04:08 seeflood

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

byene0923 avatar Aug 09 '21 15:08 byene0923

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?

seeflood avatar Aug 10 '21 01:08 seeflood

@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.

zhenjunMa avatar Aug 10 '21 03:08 zhenjunMa

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

seeflood avatar Aug 10 '21 08:08 seeflood

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

byene0923 avatar Aug 10 '21 09:08 byene0923

@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

seeflood avatar Aug 10 '21 11:08 seeflood