SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Grpc Open-Source Projects
-
insomnia
The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
microservices-demo
Sample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.
-
kubeshark
The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes
-
rpcx
Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud!
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
artillery
Load testing at cloud-scale. Serverless & distributed out-of-the-box. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module. Never fail to scale with Artillery!
-
hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Use tools like Postman or Insomnia to test the API endpoints and ensure they behave as expected.
Project mention: FlatBuffers – an efficient cross platform serialization library for many langs | news.ycombinator.com | 2023-09-18
Project mention: Reverse Engineering Protobuf Definitions from Compiled Binaries | news.ycombinator.com | 2024-03-09The reflection service is open-sourced (at least for some sdks):
* https://github.com/grpc/grpc-go/blob/master/Documentation/se...
* https://chromium.googlesource.com/external/github.com/grpc/g...
Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09it lacks flexibility but i really enjoy grpc-gateway for 99% of my work
https://github.com/grpc-ecosystem/grpc-gateway
You can check https://github.com/GoogleCloudPlatform/microservices-demo for Kubernetes show-casing
Project mention: Show HN: Alaz: Open-Source, Self-Hosted, eBPF-Based K8s Monitoring | news.ycombinator.com | 2023-09-06The one similar product I had come across is Kubeshark (https://github.com/kubeshark/kubeshark). But admittedly the eBPF way seems more performant theoretically (given you can afford to have a modern-enough kernel). I'm really excited to see how this project develops out.
The eBPF-mode of innovation is pretty exciting, truly a fresh lens to building software. I'm also following Akita Software - the company building an eBPF paradigm of monitoring.
Project mention: Show HN: Hatchet – Open-source distributed task queue | news.ycombinator.com | 2024-03-08
grpcurl
Tyk: An open-source API Gateway that is fast and scalable, running on either its own standalone server or alongside your existing nginx installation.
Use tonic-build directly from Rust.
Project mention: Ask HN: WebSocket server transforming channel subscriptions to gRPC streams | news.ycombinator.com | 2023-08-14* Additionally, client can stream data to the backend server (if bidirectional GRPC streams are used). I.e. client sends WebSocket messages, those will be transformed to GRPC messages by WebSocket server and delivered to the application backend.
As a result we have a system which allows to quickly create individual streams by using strict GRPC contract but terminating connections over WebSocket transport. So it works well in web browsers. After that no need to write WebSocket protocol, client implementation, handle WebSocket connection. This all will be solved by a suggested WebSocket server and its client SDKs.
The mechanics is similar to Websocketd (https://github.com/joewalnes/websocketd), but instead of creating OS processes we create GRPC streams. The difference from grpc-web (https://github.com/grpc/grpc-web) is that we provide streaming capabilities but not exposing GRPC contract to the client - just allowing to stream any data as payload (both binary and text) with some wrappers from our client SDKs side for managing subscriptions. I.e. it's not native GRPC streams on the client side - we expose just Connection/Subscription object to stream in both directions. GRPC streams used only for communication between WebSocket server and backend. To mention - grpc-web does not support all kinds of streaming now (https://github.com/grpc/grpc-web#streaming-support) while proposed solution can. This all should provide a cross-platform way to quickly write streaming apps due to client SDKs and language-agnostic nature of GRPC.
I personally see both pros and cons in this scheme (without concentrating on both too much here to keep the question short). I spent some time thinking about this myself, already have some working prototypes – but turned out need more opinions before moving forward with the idea and releasing this, kinda lost in doubts.
My main question - whether this seems interesting for someone here? Do you find this useful and see practical value?
Project mention: 5 Open Source tools written in Golang that you should know about | dev.to | 2023-12-15The Buf CLI is a versatile tool designed for handling Protocol Buffers (Protobuf), a method of serializing structured data. It offers several key features, including managing Protobuf assets through the Buf Schema Registry (BSR), providing a linter to enforce optimal API design and structure, and a breaking change detector to maintain compatibility either in source code or at the wire level. Additionally, the Buf CLI includes a generator that activates plugins based on user-defined templates and a formatter to standardize the formatting of Protobuf files according to industry norms. It also integrates seamlessly with the Buf Schema Registry, supporting comprehensive dependency management.
Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.
What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.
Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.
If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.
Usually, I would let organic users be my load test. However, I am working on a project that has an anticipated load on a new-to-my-team stack, so I'm looking into ways to load test.
I've seen tools like k6 (https://k6.io/), Artillery (https://www.artillery.io), and JMeter (https://jmeter.apache.org/).
I've been using Artillery, but it's hard to visualize the results.
What do you use?
Project mention: Seeking advice on implementing a tinyurl-like service using Go and gRPC. | /r/golang | 2023-05-24Hello, Those interviews are even crazy for internship. Anyway 1. Try to find a simple CRUD example online. You can check [this](https://tutorialedge.net/golang/go-grpc-beginners-tutorial/) 2. For logging you can check [go-grpc-middleware](https://github.com/grpc-ecosystem/go-grpc-middleware) 3. You can grpc-gateway in case they want some REST endpoints too 4. Use base62 to encode your url. So at least 2 columns in your table **shortenedUrl** and **url** 5. For such a project no need to use an ORM ( it's not advised anyway ). Implement 2 functions, one to insert into the db and the other one to read from the db. Remember to use transaction though 5. For unit tests go with the standard library and mock the 2 functions ( erroneous and valid cases )
Grpc related posts
- Gin + Gorm Practical Guide, Implementing a Simple Q&A Community Backend Service in One Hour
- Bicycle 0.2.0 adds support for WebAssembly SPROCs
- Show HN: Logchain – ClickHouse/Postgres gRPC hook for logchain
- Open Source Workflow Orchestration Platform
- gRPC Name Resolution & Load Balancing on Kubernetes: Everything you need to know (and probably a bit more)
- SGSG = Svelte and Go and SQLite and gRPC
- Mastering Golang Microservices - A Practical Guide: Embrace High-Performance with Kitex and Hertz
-
A note from our sponsor - SaaSHub
www.saashub.com | 24 Apr 2024
Index
What are some of the best open-source Grpc projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Dubbo | 39,994 |
2 | insomnia | 33,036 |
3 | kratos | 22,420 |
4 | FlatBuffers | 22,005 |
5 | jina | 20,009 |
6 | grpc-go | 19,836 |
7 | grpc-gateway | 17,367 |
8 | microservices-demo | 15,744 |
9 | bilibili-API-collect | 13,074 |
10 | kubeshark | 10,541 |
11 | conductor | 10,230 |
12 | grpcurl | 10,086 |
13 | Tyk | 9,229 |
14 | tonic | 8,951 |
15 | grpc-web | 8,301 |
16 | buf | 8,203 |
17 | rpcx | 7,939 |
18 | Centrifugo | 7,888 |
19 | artillery | 7,463 |
20 | awesome-grpc | 7,253 |
21 | go-grpc-middleware | 6,043 |
22 | hyperf | 5,929 |
23 | gogoprotobuf | 5,629 |
Sponsored