-
Notifications
You must be signed in to change notification settings - Fork 836
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
Consider migration from gogo to vtprotobuf #38
Comments
It is released: https://blog.golang.org/a-new-go-api-for-protocol-buffers but gRPC support is not there. |
Consider switching to https://github.com/golang/protobuf/releases/tag/v1.4.0-rc.4 at least. |
Discussion about future gRPC support in v2: golang/protobuf#1070. |
@alexshtin is this still relevant? |
It might be relevant one day. We are not using Google protobuf/gRPC plugin but using gogo. When v2 was finally released I made some tests and found out that gogo implementation still outperform it significantly. In a meantime gogo team said that adoption of v2 would require a lot of work and abandoned the project. Recently vitess team created their own compiler which has some limitations but looks very promising. I would give it some time to mature and then investigate how hard it would be for us to migrate to it. |
Other options to consider:
|
One more option: https://github.com/CrowdStrike/csproto |
Vitess Protocol Buffers compiler: https://github.com/planetscale/vtprotobuf. |
Can we also look into using buf's Connect as well? https://connect.build/docs/go/getting-started Their connect protocol would be incredibly nice for the frontend (human readable network format so we can use built in browser tools) and it would entirely remove the need for ui-server as the clients they generate can talk directly to browsers through the connect protocol or the grpc-web protocol. |
Hey! I work at Buf, designed Connect, and used to work on one of Cadence's old transports (tchannel) too. It's a small world :) We're very familiar with the pain of migrating off
@GiantRobots, Connect is largely orthogonal to this discussion - it'll work with any of the protobuf runtimes above. There are a few ways you can migrate your frontend to use |
After many discussions and considering different approaches we decided to migrate to the standard Google library. This migration is already completed, mostly in #5032 and few followed PRs. |
Currently we use https://github.com/golang/protobuf which is stable release. There is another repo under active development https://github.com/protocolbuffers/protobuf-go which is considered to be "Next Generation Go Protocol Buffers". I found number of improvements there but don't want to use it right away because it states:
The text was updated successfully, but these errors were encountered: