跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) 聊天机器人(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 编程语言(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)
SEO Title

Contents

Documentation

Community

Official Libraries and Tools

  • gRPC Core - C, C++, Ruby, Node.js, Python, PHP, C#, Objective-C
  • gRPC Java - The Java gRPC implementation. HTTP/2 based RPC
  • gRPC Kotlin - The Kotlin gRPC implementation. Based on gRPC Java
  • gRPC Node.js - gRPC for Node.js
  • gRPC Go - The Go language implementation of gRPC. HTTP/2 based RPC
  • gRPC Swift - The Swift language implementation of gRPC
  • gRPC Dart - The Dart language implementation of gRPC
  • gRPC C# - The C# language implementation of gRPC
  • gRPC Web - gRPC for Web Clients
  • gRPC Ecosystem - gRPC Ecosystem that complements gRPC
  • gRPC contrib - Known useful contributions around github
  • grpc_cli - gRPC CLI tool

Tools

CLI

  • polyglot - A gRPC command line client written in Java
  • grpcc - Node.js grpc command-line client
  • gcall - Simple Node.js gRPC command line interface
  • Evans - more expressive universal gRPC (CLI) client
  • grpcurl - Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
  • httpyac - a command line client for executing integration tests for all kinds of requests (gRPC, HTTP, MQTT, Websocket).
  • protodot - Transforming your .proto files into .dot files (and .svg, .png if you happen to have graphviz installed)
  • grpc-client-cli - interactive gRPC client
  • proto2asciidoc - Generate AsciiDoc documentation from a .proto file
  • proto-to-postman - Create postman API import collection from .proto files
  • gWhisper - Client with interactive tab-completion (uses reflection) and human readable format
  • grpcdebug - Debugs serving gRPC applications with tools like channel trace info, xDS config dump, and health checking

GUI

  • letmegrpc - Generate a web form gui from a grpc specification
  • omgRPC (Deprecated) - A GUI client for interacting with gRPC services, similar to what Postman is for REST APIs
  • grpcui - An interactive web UI for gRPC, along the lines of postman (also, a Go library for embedding these web UIs into Go HTTP servers)
  • BloomRPC - A nice and simple GUI Client. Exploring and interacting with gRPC services has never been simpler, Inspired By GraphQL-Playground and Postman
  • gRPCox - Like Postman, but for gRPC. web based GUI Client for gRPC, extremely easy to use.
  • vscode-httpyac - A VSCode extension which supports sending all kinds of requests (gRPC, HTTP, MQTT, Websocket)
  • Milkman - Extensible alternative to Postman for crafting all kinds of requests, not only for gRPC, also http, sql etc.
  • MuninRPC - Protobuf request and response testing application under the gRPC system.
  • Delivery - A simple electron app for gRPC that uses gRPCurl to autodetect all endpoints/methods and their request bodies, just modify the JSON body. Simplicity in mind.
  • (Yodelay.io) - A browser GUI Making sure your outbound 🗣️ ‘yodelay’ returns the ‘IiiOoo’ 📣 that you expect.
  • Wombat - A cross platform gRPC client. Auto-generates input fields from your proto files or the gRPC reflection API. Not another Electron app - built with Qt and Go.
  • Kreya - A gRPC client supporting environments, templating, authentication schemes and file based syncing.
  • Plumber - Another one GUI for GRPC requests (reflection only)
  • Fint - Create, run, manage performance tests and functional tests cases for gRPC service in a single (commercial) tool
  • Protocall - A browser-based gRPC & protobuf API client. Integrates with Github and automatically resolves all proto imports with no manual configuration.
  • Grip - Native macOS client for interacting with gRPC services

Testing

  • ghz - Simple gRPC benchmarking and load testing tool inspired by hey and grpcurl.
  • gatling-grpc - A Gatling stress test plugin for gRPC.
  • strest-grpc - A load tester for stress testing grpc intermediaries.
  • hazana - A Go package for creating load test tooling. Supports gRPC.
  • fortio - A microservices (http, grpc) load testing library and tool from Istio project.
  • grpc-swagger - Debugging gRPC application with swagger-ui.
  • grpc-tools - A suite of gRPC debugging tools. Like Fiddler/Charles but for gRPC.
  • jmeter-grpc-plugin - A plugin supports load test gRPC service with Jmeter.
  • camouflage - Camouflage is a backend mocking tool for HTTP, gRPC and Websockets protocols.
  • Mediator - Cross-platform GUI gRPC debugging proxy like charles but design for gRPC.
  • grpc_bench - A suite of gRPC benchmarks for different technologies.

Other

  • kafka-pixy - gRPC/REST proxy for Kafka
  • grpc-proxy - gRPC reverse proxy with the goal of making it easy to expose gRPC services over the internet
  • ratelimit - Go/gRPC service designed to enable generic rate limit scenarios from different types of applications
  • ProfaneDB - A Protocol Buffers database with gRPC API, built in C++ on top of RocksDB
  • danby - A grpc proxy for the browser
  • docker-protoc - Dockerized protoc, grpc-gateway, and grpc_cli commands bundled with Google API libraries
  • grpc-json-proxy - A proxy which allows existing tools like Postman or curl to interact with gRPC servers
  • protoc-gen-gotemplate - Generic generator based on golang's template system
  • grpc-http-proxy - A reverse proxy server which translate JSON HTTP requests to gRPC calls based on protoreflect
  • grpc-mate - A dynamic proxy server that translates JSON HTTP requests into gRPC calls
  • jawlb - An unsophisticated grpclb load balancer implementation for Kubernetes and gRPC
  • protoc-gen-hbs - Fast and easy protobuf generation with handlebars and some helpers
  • grpcson - An easy to use proxy which translates JSON HTTP requests to gRPC calls with web ui
  • rk-grpc - Middleware and bootstrapper library for gRPC with logging, metrics, auth, tracing etc.
  • PropaneDB - A Protocol Buffers database with gRPC API and Golang driver.
  • APISIX - An api gateway that supports gRPC, HTTP(s) to gRPC and gRPC web request proxying.

Language-Specific

Go

  • go-GRPC Micro - Micro based gRPC framework for microservices
  • go-kit gRPC - Go Kit with gRPC as transport
  • gRPC over NATS - nRPC is an RPC framework like gRPC, but for NATS.
  • grpc-web - gRPC Web implementation for Golang and TypeScript
  • grpc-web-devtools - Chrome Browser extension to aid gRPC-Web development
  • rpcx - A RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan
  • grpclb - External Load Balancing Service solution for gRPC written in Go
  • grpc-proxy - gRPC proxy is a Go reverse proxy that allows for rich routing of gRPC calls with minimum overhead
  • go-microservice-helpers - A collection of handy snippets that simplify creation of gRPC servers and clients
  • lile - Easily create gRPC services in Go
  • proteus - Generate .proto files from Go source code
  • protoc-gen-cobra - Command line tool generator for Go gRPC
  • gRPC over WebSocket - connect to a gRPC Server behind a firewall by using a pre-established WebSocket connection
  • yarpc - A message passing platform for Go, including support for gRPC
  • promgrpc - Prometheus instrumentation for gRPC based services
  • protoreflect - Reflection (Rich Descriptors) for Go Protocol Buffers
  • grpchan - Channels for gRPC: custom transports, such as in-process and HTTP 1.1
  • grpcui - Embed a gRPC web UI into a Go gRPC/HTTP server
  • clay - Minimal server platform for gRPС+REST+Swagger APIs
  • grpc-consul-resolver - Easy to use endpoints resolver for the services registered in the Consul
  • kuberesolver - gRPC Load Balancer with Kubernetes resolver
  • ttrpc - GRPC for low-memory environments
  • grapi - 😮 A surprisingly easy API server and generator in gRPC and Go
  • gripmock - gRPC Mock Server
  • grpc-gateway-boilerplate - All the boilerplate you need to get started with writing grpc-gateway powered REST services in Go
  • protoc-gen-struct-transformer - Transformation function generator for protocol buffers.
  • cmux - Connection multiplexer for GoLang: serve different services on the same port! Supports gRPC.
  • go-grpc-channelz - A channelz UI for Golang. Channelz is an approved and already implemented proposal describing the inner state of gRPC connections/channels. go-grpc-channelz provides a simple UI for channelz for easy diagnosis.
  • goprotoc - Library for writing protoc plugins in Go; also includes a pure-Go protoc replacement.
  • gRPC for production - A Golang project that provides the core requirements for a production-ready gRPC communication.
  • protoc-gen-mock - A protoc plugin to generate gRPC mock services from proto definitions in Golang
  • Pike — Generate CRUD gRPC backends from single YAML description
  • Mortar - GO framework for building gRPC (and REST) web services with DI, Telemetry and more
  • sqlc-grpc - Generate gRPC/HTTP server (with metrics, tracing, swagger and grpcui) from SQL
  • protoc-gen-fieldmask - A protoc plugin that generates fieldmask paths as static type properties of proto messages

Node.js

  • Mali - A minimalistic gRPC microservice framework for Node.js
  • grpc-host-builder - Lightweight library for building gRPC services with server side interceptors support
  • grpc-caller - An improved Node.js gRPC client
  • grpc-create-metadata - Helper utility for creating gRPC Metadata
  • grpc-create-error - Utility function for creating Errors for gRPC responses
  • grpc-error - GRPCError class that wraps create-grpc-error
  • grpc-inspect - gRPC protocol buffer inspection utility
  • Node.js Proto Files - All of the Google API's protocol buffer files
  • grpc-bus - Call gRPC services (even streams!) from the browser over any two-way socket to Node and soon Go
  • grpc-errors - A quick and easy way of generating errors for use with grpc
  • grpc-dynamic-gateway - Like grpc-gateway, but written in node and dynamic.
  • node-protoc-plugin - Create protoc code-generation plugins easily in nodejs.
  • grpc-promise - GRPC promisify module for all Request/Response types: standard and stream
  • firecomm - Feature library for gRPC-Node
  • grpc-web-gateway – HTTP & WebSocket proxy gateway for gRPC services
  • grpc-reflection-js – gRPC Reflection client for JS

Java

  • gax-java - Google API Extensions for Java
  • Armeria - Asynchronous RPC/REST library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC
  • grpc-spring-boot-starter - Spring Boot starter module for gRPC framework
  • grpc-spring-boot-starter Spring Boot starter module for gRPC framework from LogNet.
  • reactive-grpc - Integrates reactive programming with grpc-java
  • grpc-java-contrib - Useful extensions for the grpc-java library
  • rejoiner - Generates a GraphQL schema from gRPC microservices
  • hoverfly-java-grpc - MITM proxy for recording and simulating gRPC services
  • grpcmock - A gRPC Java testing tool to easily mock endpoints of gRPC services for IT or Unit testing
  • protoc-gen-java-optional - A Java Protoc plugin extending generated java classes with null safe setOrClear and getOptional methods.

Ruby

  • gruf - gRPC Ruby Framework
  • gapic-generator-ruby - Generates Ruby gRPC client libraries from protocol buffer definitions of an API.

Python

  • grpclib - Pure-Python gRPC implementation, based on hyper-h2 project
  • pytest-grpc - pytest plugin which allow test gRPC services
  • grpcalchemy - The Python micro framework for building gPRC application
  • django-grpc - Django application to build gRPC services with access to ORM, settings and everything else
  • garuda - Automagically Exposing Django ORM over gRPC for microservices written in any other languages
  • django-grpc-framework - A gRPC toolkit for Django inspired by djangorestframework
  • homi - Python micro framework for build grpc server easy and fast.
  • grpc_requests - GRPC for Humans! grpc reflection support client. you can request grpc just like REST(No need Stub!)

C#

Rust

  • grpc-rs - The gRPC library for Rust built on C Core library and futures
  • grpc-rust - Rust implementation of gRPC
  • tower-grpc - A client and server gRPC implementation based on Tower
  • tonic - A native gRPC client & server implementation with async/await support

Haskell

Erlang

  • Erlang grpc - Erlang library for gRPC
  • grpcbox - Erlang grpc client and server
  • bert - Erlang Google Protobuf V3 generator from HRL files

Elixir

Elm

  • elm-protobuf - Protoc plugin generating elm code from proto definitions

TypeScript

  • ts-protoc-gen - Protoc Plugin for TypeScript Declarations
  • protoc-gen-tstypes - Configurable Protoc Plugin to generate TypeScript types.
  • sisyphus.js - gRPC runtime and compiler for Web Clients by HTTP transcoding. Recommend using with Sisyphus back-end framework.
  • protoc-gen-grpc-gateway-ts - TypeScript client generator for the grpc-gateway project that generates idiomatic TypeScript clients that connect the web frontend and golang backend fronted by grpc-gateway.
  • protobuf-ts - Protocol buffers and RPC for Node.js and the Web Browser. Pure TypeScript.
  • ts-proto - Transforms your .proto files into strongly-typed, idiomatic TypeScript files!
  • grpc-js-typescript - Examples of how to use gRPC with TypeScript & Node.js.
  • nice-grpc - gRPC library for Node.js and the Browser with modern API and middleware support.

Scala

  • ScalaPB - Protocol Buffer Compiler for Scala
  • Akka-gRPC - Akka gRPC provides support for building streaming gRPC servers and clients on top of Akka Streams.
  • Mu - Mu RPC is a purely functional library for building RPC endpoint-based services with support for gRPC and HTTP/2

Dart

  • grpc-dart - Protocol Buffer Compiler for Dart

Kotlin

  • kroto-plus - gRPC Coroutines Integration and Protobuf message DSL support
  • grpc-kotlin - A protoc plugin for generating native Kotlin bindings using coroutine primitives for gRPC services
  • gapic-generator-kotlin - Generates coroutine-based gRPC Kotlin client libraries from a protocol buffer description of an API
  • grpc-kapt - Annotation driven gRPC clients & servers in Kotlin with coroutines
  • sisyphus - Modern gRPC back-end development framework based on Kotlin/Spring Boot with Message DSL/HTTP transcoding/Google AIP support.

Perl

  • grpc-perl - Experimental Perl gRPC library supporting grpc client

C++

Ballerina

Resources

Tutorials

Videos

Slides

Examples

Miscellaneous

Protocol Buffers

Documentation

Tools

  • buf - Protobuf tool that includes linting and breaking change detection. Allows many types of input including directly checking remote repositories and tarballs, and has a built-in compiler as well.
  • prototools - Documentation generator & other tools for protobuf/gRPC
  • protoc-gen-doc - Documentation generator plugin for Google Protocol Buffers
  • Protoxygen - Doxygen plugin to generate documentation for protobuf/gRPC
  • openapi2proto - A tool for generating Protobuf v3 schemas and gRPC service definitions from OpenAPI specifications
  • Wireshark Protobuf Dissector - A Wireshark Lua plugin for decoding Google protobuf packets. Relevant PR and discussion.
  • protoc-gen-lint - A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations
  • prototool - Compile, lint, and format Protobuf files, and generate stubs for any lanuguage/plugin, along with Vim/IDE integration
  • protoc-gen-validate - Protoc plugin to generate polyglot message validators
  • go-proto-validators - Generate message validators from .proto annotations, used in grpc_validator Go gRPC middleware.
  • protolock - Protocol Buffer companion tool to protoc and git. Track your .proto files and prevent changes to messages and services which impact API compatibilty.
  • protoc-gen-map - SQL data mapper framework for Protocol Buffers.
  • api-linter - A linter for APIs defined in protocol buffers.
  • protoc-gen-struct-transformer - Transformation functions generator for Protocol Buffers.
  • pbvm - Protocol Buffers Version Manager
  • clang-format - Protocol Buffers formating tool Can be used to format on save in editor such as Visual studio code or IntelliJ.
  • intellij-protobuf-plugin - IntelliJ-based IDEs Protobuf Language Plugin that provides Protobuf language support.
  • GenDocu - gRPC Documentation and SDK generator as a Service.

Similar

  • gogoprotobuf - Fork of golang/protobuf with extra code generation features
  • MessagePack - It's like JSON, but fast and small
  • Thrift - Thrift is an interface definition language and binary communication protocol
  • TChannel - Network multiplexing and framing protocol for RPC
  • Cap’n Proto - Think Protocol Buffers, except faster
  • FlatBuffers - An efficient cross platform serialization library
  • RSocket - Application protocol providing Reactive Streams semantics
  • Twirp - A simple RPC framework with protobuf service definitions
  • Greenpack - Serialization format similar to MessagePack, but adds field versioning and type annotation

原文:https://github.com/grpc-ecosystem/awesome-grpc