go-grpc - A micro based gRPC framework for microservices

  •        425

Go-GRPC is a micro based gRPC framework for microservices.Go-GRPC provides a go-micro.Service leveraging gRPC plugins for the client, server and transport. Go-GRPC shares the go-micro codebase, making it a pluggable gRPC framework for microservices. Everything works just like a go-micro service, using micro generated protobufs and defaulting to consul for service discovery.

https://github.com/micro/go-grpc

Tags
Implementation
License
Platform

   




Related Projects

Armeria - Build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard

  •    Java

Armeria is your go-to microservice framework for any situation. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard. Armeria is capable of running services using different protocols, all on a single port. No need for any proxies or sidecars.

Micro - Distributed Cloud OS

  •    Go

Micro is an operating system built for the cloud. It addresses the key requirements for building services in the cloud. It leverages the microservices architecture pattern and provides a set of services which act as the building blocks of a platform. Micro deals with the complexity of distributed systems and provides simpler programmable abstractions to build on.

go-micro-services - HTTP up front, Protobufs in the rear

  •    Go

An demonstration of Golang micro-services that expose a HTTP/JSON frontend and then leverages gRPC for inter-service communication. The web page makes an HTTP request to the API Endpoint which in turn spawns a number of RPC requests to the backend services.

go-microservice-helpers - A collection of handy snippets that simplify creation of GRPC servers and clients

  •    Go

A collection of handy snippets that simplify creation of GRPC servers and clients. The provided helpers allow to create grpc endpoints with zipkin distributed tracing pre-configured; spawn http servers that serve both grpc and common http traffic; simplify golang crypto primitives to load EC keys.


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

  •    Go

The Go implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information see the gRPC Quick Start: Go guide.This requires Go 1.7 or later.

grpc-gateway - gRPC to JSON proxy generator following the gRPC HTTP spec

  •    Go

grpc-gateway is a plugin of protoc. It reads gRPC service definition, and generates a reverse-proxy server which translates a RESTful JSON API into gRPC. This server is generated according to the google.api.http annotation in your gRPC service definition. It helps you to provide your APIs in both gRPC and RESTful style at the same time.

go-micro - A pluggable RPC framework for microservices

  •    Go

Go Micro is a pluggable RPC framework for microservices. It is part of the Micro toolkit.The Micro philosophy is sane defaults with a pluggable architecture. We provide defaults to get you started quickly but everything can be easily swapped out. It comes with built in support for {json,proto}-rpc encoding, consul or multicast dns for service discovery, http for communication and random hashed client side load balancing.

lile - Easily generate gRPC services in Go ⚡️

  •    Go

Lile is a application generator (think create-react-app, rails new or django startproject) for gRPC services in Go and a set of tools/libraries. The primary focus of Lile is to remove the boilerplate when creating new services by creating a basic structure, test examples, Dockerfile, Makefile etc.

gripmock - gRPC Mock Server

  •    Go

GripMock is a mock server for GRPC services. It's using a .proto file to generate implementation of gRPC service for you. If you are already familiar with Apiary or WireMock for mocking API service and looking for similiar thing for GRPC then this is the perfect fit for that. Matched stub will be returned to GRPC service then further parse it to response the rpc call.

go-grpc-middleware - Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

  •    Go

gRPC Go Middleware: interceptors, helpers, utilities. gRPC Go recently acquired support for Interceptors, i.e. middleware that is executed either on the gRPC Server before the request is passed onto the user's application logic, or on the gRPC client either around the user call. It is a perfect way to implement common patterns: auth, logging, message, validation, retries or monitoring.

go-grpc-prometheus - Prometheus monitoring for your gRPC Go servers.

  •    Go

Prometheus monitoring for your gRPC Go servers and clients. A sister implementation for gRPC Java (same metrics, same semantics) is in grpc-ecosystem/java-grpc-prometheus.

colossus - Colossus — An example microservice architecture for Kubernetes using Bazel, Go, Java, Docker, Kubernetes, Minikube, Gazelle, gRPC, Prometheus, Grafana, and more

  •    Python

Wait a second, these services don't do anything meaningful! Nope, they sure don't. But that's okay because the point of this project is to show you how to get the basic (yet not-at-all-trivial) plumbing to work. Colossus is a boilerplate project that's meant as a springboard to more complex and meaningful projects. Getting all of these technologies to work together was a real challenge. I had to dig through countless GitHub issues and dozens of example projects to make all these things work together. I'm offering this repo as a starter pack for other people with a Bazel monorepo targeting Kubernetes.

gRPC-Java - The Java gRPC implementation. HTTP/2 based RPC

  •    Java

In gRPC a client application can directly call methods on a server application on a different machine as if it was a local object, making it easier for you to create distributed applications and services. As in many RPC systems, gRPC is based around the idea of defining a service, specifying the methods that can be called remotely with their parameters and return types.

rpcx - A RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan

  •    Go

go get -u -v github.com/smallnest/rpcx/...rpcx is a distributed RPC framework like Alibaba Dubbo and Weibo Motan. It is based on Go net/rpc and provides extra governance features.

grpc-proxy - gRPC proxy is a Go reverse proxy that allows for rich routing of gRPC calls with minimum overhead

  •    Go

The project now exists as a proof of concept, with the key piece being the proxy package that is a generic gRPC reverse proxy handler. The package proxy contains a generic gRPC reverse proxy handler that allows a gRPC server to not know about registered handlers or their data types. Please consult the docs, here's an exaple usage.

ratelimit - Go/gRPC service designed to enable generic rate limit scenarios from different types of applications

  •    Go

The rate limit service is a Go/gRPC service designed to enable generic rate limit scenarios from different types of applications. Applications request a rate limit decision based on a domain and a set of descriptors. The service reads the configuration from disk via runtime, composes a cache key, and talks to the Redis cache. A decision is then returned to the caller. Envoy's data-plane-api defines a ratelimit service proto rls.proto. Logically the data-plane-api rls is equivalent to the ratelimit.proto defined in this repo. However, due to the namespace differences and how gRPC routing works it is not possible to transparently route the legacy ratelimit (ones based in the ratelimit.proto defined in this repo) requests to the data-plane-api definitions. Therefore, the ratelimit service will upgrade the requests, process them internally as it would process a data-plane-api ratelimit request, and then downgrade the response to send back to the client. This means that, for a slight performance hit for clients using the legacy proto, ratelimit is backwards compatible with the legacy proto.

go-micro - A Go framework for distributed systems development

  •    Go

Go Micro is a framework for distributed systems development. Go Micro provides the core requirements for distributed systems development including RPC and Event driven communication. The Micro philosophy is sane defaults with a pluggable architecture. We provide defaults to get you started quickly but everything can be easily swapped out.

nrpc - nRPC is like gRPC, but over NATS

  •    Go

nRPC is an RPC framework like gRPC, but for NATS. It can generate a Go client and server from the same .proto file that you'd use to generate gRPC clients and servers. The server is generated as a NATS MsgHandler.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.