Go Grpc

Open-source Go projects categorized as Grpc

Top 23 Go Grpc Projects

  • kratos

    Your ultimate Go microservices framework for the cloud-native era.

  • grpc-go

    The Go language implementation of gRPC. HTTP/2 based RPC

  • Project mention: Reverse Engineering Protobuf Definitions from Compiled Binaries | news.ycombinator.com | 2024-03-09

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

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

    WorkOS logo
  • grpc-gateway

    gRPC to JSON proxy generator following the gRPC HTTP spec

  • Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09

    it lacks flexibility but i really enjoy grpc-gateway for 99% of my work

    https://github.com/grpc-ecosystem/grpc-gateway

  • microservices-demo

    Sample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.

  • Project mention: Small non complicated apps for k8s demo | /r/kubernetes | 2023-12-08

    You can check https://github.com/GoogleCloudPlatform/microservices-demo for Kubernetes show-casing

  • 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

  • Project mention: Show HN: Alaz: Open-Source, Self-Hosted, eBPF-Based K8s Monitoring | news.ycombinator.com | 2023-09-06

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

  • grpcurl

    Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers

  • Project mention: Roll your own auth with Rust and Protobuf | dev.to | 2023-10-28

    grpcurl

  • Tyk

    Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols

  • Project mention: 5 Ways to Improve Your API Reliability | dev.to | 2023-07-25

    Tyk: An open-source API Gateway that is fast and scalable, running on either its own standalone server or alongside your existing nginx installation.

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

    InfluxDB logo
  • buf

    The best way of working with Protocol Buffers.

  • Project mention: 5 Open Source tools written in Golang that you should know about | dev.to | 2023-12-15

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

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

  • Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, 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.

  • go-grpc-middleware

    Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

  • Project mention: Seeking advice on implementing a tinyurl-like service using Go and gRPC. | /r/golang | 2023-05-24

    Hello, 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 )

  • gogoprotobuf

    [Deprecated] Protocol Buffers for Go with Gadgets (by gogo)

  • talos

    Talos Linux is a modern Linux distribution built for Kubernetes.

  • Project mention: There are only 12 binaries in Talos Linux | news.ycombinator.com | 2024-03-04

    Super cool. I always enjoy reading about systems that challenge, well, "ossified" assumptions. An OS not providing a shell, for example? Madness! ... or is it genius, if the OS has a specific purpose...? It's thought-provoking, if nothing else.

    I'm a bit skeptical of parts. For instance, the "init" binary being less than 400 lines of golang - wow! And sure, main.go [1] is less than 400 lines and very readable. Then you squint at the list of imported packages, or look to the left at the directory list and realize main.go isn't nearly the entire init binary.

    That `talosctl list` invocation [2] didn't escape my notice either. Sure, the base OS may have only a handful of binaries - how many of those traditional utilities have been stuffed into the API server? Not that I disagree with the approach! I think every company eventually replaces direct shell access with a daemon like this. It's just that "binary footprint" can get a bit funny if you have a really sophisticated API server sitting somewhere.

    [1]: https://github.com/siderolabs/talos/blob/main/internal/app/m...

    [2]: https://www.talos.dev/v1.6/reference/cli/#talosctl-list

  • grpcui

    An interactive web UI for gRPC, along the lines of postman

  • Project mention: Bruno | news.ycombinator.com | 2024-03-09
  • protoactor-go

    Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

  • Project mention: Is there a programming language that will blow my mind? | /r/ProgrammingLanguages | 2023-06-01

    https://github.com/asynkron/protoactor-go & this is a great lib, that implements a Erlang/Akka-like the Actor Model in Go.

  • flyte

    Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.

  • Project mention: First 15 Open Source Advent projects | dev.to | 2023-12-15

    9. Flyte by Union AI | Github | tutorial

  • spicedb

    Open Source, Google Zanzibar-inspired permissions database to enable fine-grained access control for customer applications

  • Project mention: How do you manage transactions in Go? Do we really need to use one transaction for each request? | /r/golang | 2023-06-02

    Have you taken a look at SpiceDB? The Authzed blog has a few posts that are useful to improving your understanding -- I can think of two: New Enemies and Writing relationships to SpiceDB.

  • evans

    Evans: more expressive universal gRPC client

  • gloo

    The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy

  • simplebank

    Backend master class: build a simple bank service in Go

  • gost

    GO Simple Tunnel - a simple tunnel written in golang (by go-gost)

  • flipt

    Enterprise-ready, GitOps enabled, CloudNative feature management solution

  • Project mention: Ask HN: How did you build feature flags? | news.ycombinator.com | 2024-04-03

    We at https://flipt.io are putting on a buy vs build webinar in a couple of weeks to discuss this very thing as it's a common question that engineering teams seem to have.

    If you're interested in attending its taking place on LinkedIn on April 17: https://www.linkedin.com/events/buildvs-buy-pickingafeaturef...

  • fortio

    Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.

  • Project mention: Fortio, load testing library and command line tool | news.ycombinator.com | 2023-06-21
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Grpc related posts

Index

What are some of the best open-source Grpc projects in Go? This list will help you:

Project Stars
1 kratos 22,420
2 grpc-go 19,836
3 grpc-gateway 17,332
4 microservices-demo 15,744
5 kubeshark 10,541
6 grpcurl 10,086
7 Tyk 9,229
8 buf 8,203
9 rpcx 7,939
10 Centrifugo 7,888
11 go-grpc-middleware 6,043
12 gogoprotobuf 5,629
13 talos 5,302
14 grpcui 4,881
15 protoactor-go 4,862
16 flyte 4,727
17 spicedb 4,489
18 evans 4,115
19 gloo 3,980
20 simplebank 3,925
21 gost 3,381
22 flipt 3,301
23 fortio 3,159

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com