Top 23 Go Protobuf Projects
-
Golang 💪 is a well oiled language for high-performance backend web components. Take Kratos a popular microservices framework.
-
Project mention: Protobuf - Go support for Google's protocol buffers | reddit.com/r/github_trends | 2022-05-27
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
Take a look at how https://github.com/fullstorydev/grpcurl works. Iirc either you depend on the protobuf files or the introspection API.
-
Looking at twirp as an option but seemed like previous thread don't consider it as proper gRPC but rather a competitor to it.
-
Project mention: Anyone needs a (long-term) contributor for their open source project written in Go? | reddit.com/r/golang | 2022-05-30
the gogo protobuf compiler toolchain is looking for a maintainer https://github.com/gogo/protobuf u/MehdiHK
-
Yeah I don't like that as well for professional solutions I like using https://buf.build/
-
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
plumber
A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.
Checkout https://github.com/batchcorp/plumber. You can use it to write messages into Kafka from file or text. The team that built plumber also built the platform https://batch.sh capture and replay specific messages into Kafka.
-
Check out https://connect.build/ as another option.
-
encoding
Go package containing implementations of efficient encoding, decoding, and validation APIs.
Project mention: 80x improvements in caching by moving from JSON to gob | reddit.com/r/golang | 2022-04-11Binary formats work well for some cases but JSON is often unavoidable since it is so widely used for APIs. However, you can make it faster in golang with this https://github.com/segmentio/encoding.
-
centrifuge
Real-time messaging library for Go with scalability in mind. The core of Centrifugo server.
Hello, +1 to WebSockets. If you need to choose WS library – go with https://github.com/gorilla/websocket or https://github.com/gobwas/ws. You can also look at Centrifugo server (https://centrifugal.dev/, supports WebSocket, SockJS bidi transports, also EventSource, HTTP-streaming, GRPC unidirectional transports and many builtin features) or https://github.com/centrifugal/centrifuge Go library.
-
protolock
Protocol Buffer companion tool. Track your .proto files and prevent changes to messages and services which impact API compatibility.
Protolock to prohibit incompatible changes.
-
vtprotobuf
A Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2
I ran the benchmark on my device. Vitess proto library improves ~30% req/s linearly with default config and 8 cpu client.
-
onnx-go
onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library.
-
Well, instead of using full GRPC, you could use ProtoBuf. Any "binary" protocol will be faster to parse than JSON, if performance is your biggest factor, you can find benchmarks comparing the different formats.
-
buildbuddy
BuildBuddy is an open source Bazel build event viewer, result store, remote caching, and remote build execution platform.
BuildBuddy (YC W20) | Engineering | Remote, Bay Area | Full-Time
BuildBuddy was founded to give anyone a "Google-style" development environment in minutes. Today we're solving a small piece of this problem with an open-core remote build execution platform for Bazel - but our ambitions are much larger. Our mission is to take the world-class engineering tools that are only available to employees of large companies and make them available to everyone. Check it out at: https://buildbuddy.io/
Come join us and shape the future of how engineers build and test software! You’ll write and ship open-source code, own production systems used every day by 1000s of engineers at big companies, and help us shape the future of the product. You'll work with and learn from a team that's built software at both successful startups and FAANG companies. Your skillset will grow and you'll join a team excited to solve problems in the developer tool space.
Our tech stack is simple, stable, scalable: Golang, Redis, MySQL, Protobuf, React, Typescript.
Sr. SWE: https://www.buildbuddy.io/jobs/senior-software-engineer
Sr. SRE: https://www.buildbuddy.io/jobs/senior-site-reliability-engin...
SE: https://www.buildbuddy.io/jobs/solutions-engineer
Don't see a perfect fit but still interested? Great, we still want to hear from you! Email us at [email protected]
-
-
We use protolint to lint the proto files. Please download and install protolint from https://github.com/yoheimuta/protolint/releases.
-
Open google authenticator, export accounts, screenshot QR code, decode with cyberchef, decode otpauth-migration link with https://github.com/dim13/otpauth
-
`proto_library` for building the `.bin` file from protos works great. Generating stubs/messages for "all" languages does not. Each language does not want to implement gRPC rules, the gRPC team does not want to implement rules for each language. Sort of a deadlock situation. For example:
- C++: https://github.com/grpc/grpc/blob/master/bazel/cc_grpc_libra...
- Python: https://github.com/grpc/grpc/blob/master/bazel/python_rules....
- ObjC: https://github.com/grpc/grpc/blob/master/bazel/objc_grpc_lib...
- Java: https://github.com/grpc/grpc-java/blob/master/java_grpc_libr...
- Go (different semantics than all of the other): https://github.com/bazelbuild/rules_go/blob/master/proto/def...
But there's also no real cohesion within the community. The biggest effort to date has been in https://github.com/stackb/rules_proto which integrates with gazelle.
tl;dr: Low alignment results in diverging implementations that are complicated to understand for newcomers. Buff's approach is much more appealing as it's a "this is the one way to do the right thing" and having it just work by detecting `proto_library` and doing all of the linting/registry stuff automagically in CI would be fantastic.
-
casbin is super flexible and it support many models[1]
-
I'd suggest looking at goflow2 before you write something new.
Go Protobuf related posts
- Error on Post:
- Golang vs Elixir protoactor supervision
- Cloudflare Down Worldwide (not worldwide but a lot of places) (up now)
- Massive Cloudflare outage causing several website down including Etherscan, Polygonscan, Ignitescan, Coinbase and many more
- Cloudflare Down Worldwide (Update: not worldwide but a lot of places)
- Cloudflare在全球范围内瘫痪(更新:不是全球,而是很多地方)。 (Cloudflare Down Worldwide (Update: not worldwide but a lot of places))
- Cloudflare Down Worldwide (Update: not worldwide but a lot of places)
Index
What are some of the best open-source Protobuf projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | kratos | 18,226 |
2 | goprotobuf | 8,552 |
3 | grpcurl | 7,175 |
4 | twirp | 5,879 |
5 | gogoprotobuf | 5,340 |
6 | buf | 4,764 |
7 | protoactor-go | 4,151 |
8 | nano | 2,037 |
9 | plumber | 1,361 |
10 | connect-go | 1,091 |
11 | encoding | 853 |
12 | centrifuge | 634 |
13 | protolock | 475 |
14 | vtprotobuf | 469 |
15 | onnx-go | 399 |
16 | gosercomp | 373 |
17 | buildbuddy | 331 |
18 | trubka | 319 |
19 | protolint | 287 |
20 | otpauth | 282 |
21 | rules_proto | 226 |
22 | casbin-server | 223 |
23 | goflow2 | 160 |
Are you hiring? Post a new remote job listing for free.