awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
connectrpc avatar

connectrpc/connect-go

0
View on GitHub↗
3,963 stars·146 forks·Go·Apache-2.0·29 viewsconnectrpc.com↗

Connect Go

Connect-go is a library for building type-safe remote procedure call services that are wire-compatible with gRPC and HTTP. It provides a Go implementation of Protocol Buffers for structured data exchange, enabling the creation of multi-protocol RPC servers and generated type-safe clients.

The framework is distinguished by its polyglot protocol support, allowing a single server handler to serve requests using several different protocols simultaneously over HTTP. This includes the ability to toggle between different transport protocols for the same service and the use of pluggable content negotiation to select between binary and JSON encoding.

The project covers a broad range of API integration capabilities, including unary and bidirectional message streaming, network middleware for request interception, and structured error management. It also includes operational utilities for service health reporting, payload compression, and memory buffer recycling to reduce garbage collection overhead.

Features

  • Multi-Protocol Support - Serves requests using several different protocols simultaneously on a single HTTP handler.
  • Remote Procedure Calls - Implements a type-safe remote procedure call framework for exchanging structured messages between clients and servers.
  • Single-Port Multi-Protocol Support - Allows a single server handler to host and automatically detect multiple communication protocols on a single port.
  • Structured Message Serialization - Converts data structures to binary or JSON formats for service communication.
  • Request-Response Middleware - Provides middleware for intercepting the request-response cycle to implement logging, authentication, and telemetry.
  • Protobuf RPC Frameworks - Provides a full communication framework leveraging Protocol Buffers for both interface definition and serialization.
  • Wire-Compatible Handlers - Builds handlers and clients that maintain wire-compatibility across various communication protocols.
  • Client-to-Server Streaming - Implements a formal RPC pattern where the client sends a sequence of messages for a single response.
  • gRPC and Connect RPC Frameworks - Provides a complete framework for building type-safe RPC services wire-compatible with gRPC and HTTP.
  • HTTP Client Integrations - Enables service method invocation using standard HTTP clients to receive structured responses.
  • Single Port Protocol Multiplexing - Detects and handles multiple communication protocols on a single port by inspecting content types and paths.
  • gRPC Service Implementations - Provides a full implementation of gRPC services for high-performance remote procedure calls.
  • Service Consumption - Provides generated clients to invoke methods and process responses from remote services.
  • Remote Procedure Invocation Systems - Supports unary, streaming, and bidirectional remote procedure invocation patterns.
  • Multi-Protocol - Implements an RPC server capable of handling multiple distinct communication protocols simultaneously on a single port.
  • Server-to-Client Response Streaming - Enables the server to send a sequence of messages incrementally to the client.
  • Service Schema Definitions - Implements service schemas that define the communication patterns for unary and streaming RPC calls.
  • Strongly Typed RPC Interfaces - Provides strongly typed interfaces for executing remote procedure calls with compile-time safety.
  • Type-Safe Client Generators - Generates idiomatic, type-safe clients from API specifications supporting multiple transports and streaming.
  • Connect RPC Implementations - Defines and serves API endpoints that communicate using the Connect protocol to handle requests.
  • Bidirectional Streams - Supports full-duplex bidirectional message streaming between clients and servers.
  • Request Interception Middlewares - Injects logic into requests to implement logging, authentication, or telemetry via middleware.
  • Content Negotiation - Selects between binary and JSON encoding for payloads based on request and response headers.
  • Type-Safe API Clients - Provides type-safe clients for sending requests to remote services and processing returned responses.
  • Length-Delimited Message Framing - Wraps bytes in protocol-specific framing using length prefixes and flags.
  • gRPC Error Metadata - Attaches machine-readable codes and diagnostic metadata to errors for structured communication.
  • Request Retries - Automatically replays requests when a connection close error occurs using the request body.
  • Byte Stream Framing - Converts structured data to and from byte streams for network transmission using protocol framing.
  • Buffer Recycling - Reuses memory slices for network packet operations to minimize garbage collection overhead.
  • Payload Compressions - Reduces the size of serialized data payloads to optimize network usage.
  • Compression Wrappers - Reduces the size of transmitted data using reusable wrappers to optimize network bandwidth.
  • Transport Protocol Switching - Allows clients to toggle between different transport protocols for the same service.
  • RPC Server Integration - Integrates schema-based network services with standard HTTP handlers for flexible request processing.
  • Schema-Based Server Generation - Generates server-side routing and content negotiation code directly from protobuf schemas.
  • Bidirectional Stream Establishment - Establishes persistent, multiplexed bidirectional data streams over a single network connection.
  • Data Compression and Decompression - Configures outgoing message compression algorithms and registers compatible decompression methods.
  • Structured Error Responses - Writes error responses in standardized formats that clients interpret as structured codes and messages.
  • Data Encoders and Decoders - Selects between binary and JSON encodings for requests and responses based on standard mapping.
  • Semantic Error Code Mappings - Translates internal service failures into semantic error codes and metadata compatible with RPC standards.
  • Request Interception Middleware - Implements an architectural pattern for intercepting requests to provide logging and authentication.
  • Request Validation - Verifies that incoming requests use supported protocols by checking content-type headers and versions.
  • RPC Path Parsing - Extracts package, service, and method names from a URL path to identify the target procedure.
  • RPC URL Parsing - Extracts the canonical service and method path from full web addresses or rooted paths.
  • Server Reflection - Allows clients to discover available services and method signatures dynamically at runtime.
  • Panic Recovery - Intercepts unexpected panics during execution and converts them into structured error responses.
  • Schema-Based Path Parsing - Provides a predictable naming convention to parse package, service, and method names from HTTP request paths.
  • Real-Time Communication - Provides technologies for persistent, bidirectional data streaming for real-time communication.
  • Panic Recovery Middleware - Traps unexpected runtime panics in handlers to return controlled error messages to the client.
  • Request Metadata - Allows retrieval of request headers, peer information, and HTTP methods from the active request context.
  • Microservices and RPC - Interoperable Protobuf RPC implementation.

Star history

Star history chart for connectrpc/connect-goStar history chart for connectrpc/connect-go

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Connect Go

Similar open-source projects, ranked by how many features they share with Connect Go.
  • line/armerialine avatar

    line/armeria

    5,115View on GitHub↗

    Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions as a multi-protocol RPC server capable of exposing gRPC, Thrift, and REST services on a single unified port. The project is distinguished by its ability to run diverse communication protocols simultaneously and its integrated RPC debugging web console, which allows for the discovery and invocation of remote procedure calls via JSON. It also includes a gRPC to JSON transcoder to enable web client compatibility with Protobuf services. The framework provides a comprehensive sui

    Java
    View on GitHub↗5,115
  • apache/brpcapache avatar

    apache/brpc

    17,545View on GitHub↗

    brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio

    C++rpc
    View on GitHub↗17,545
  • middleapi/orpcmiddleapi avatar

    middleapi/orpc

    4,862View on GitHub↗

    orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and generates type-safe clients and servers from that single source of truth. It guarantees end-to-end type safety, meaning inputs, outputs, errors, and streaming data are all checked at compile time across the client–server boundary. What distinguishes orpc from typical RPC frameworks is its ability to export contracts as OpenAPI specifications, to optimize server-side rendering by calling API handlers directly inside the server process, and to support real‑time bidirectional commu

    TypeScriptapibunjscloudflare-worker
    View on GitHub↗4,862
  • servicestack/servicestackServiceStack avatar

    ServiceStack/ServiceStack

    5,498View on GitHub↗

    ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed request and response objects. It functions as a message-based API engine that decouples business logic from the transport layer, allowing services to be exposed via multiple protocols including HTTP, gRPC, and various message queue providers. The framework is distinguished by its type-safe API generator, which produces native client SDKs and data transfer objects from service metadata across multiple languages. It also includes a distributed service gateway for microservices orchest

    C#c-sharpcsvframework
    View on GitHub↗5,498
See all 30 alternatives to Connect Go→

Frequently asked questions

What does connectrpc/connect-go do?

Connect-go is a library for building type-safe remote procedure call services that are wire-compatible with gRPC and HTTP. It provides a Go implementation of Protocol Buffers for structured data exchange, enabling the creation of multi-protocol RPC servers and generated type-safe clients.

What are the main features of connectrpc/connect-go?

The main features of connectrpc/connect-go are: Multi-Protocol Support, Remote Procedure Calls, Single-Port Multi-Protocol Support, Structured Message Serialization, Request-Response Middleware, Protobuf RPC Frameworks, Wire-Compatible Handlers, Client-to-Server Streaming.

What are some open-source alternatives to connectrpc/connect-go?

Open-source alternatives to connectrpc/connect-go include: line/armeria — Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions… apache/brpc — brpc is a high-performance C++ RPC framework and network programming library designed for building distributed… middleapi/orpc — orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and… servicestack/servicestack — ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed… apache/dubbo-spring-boot-project — This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring… cloudwego/hertz — Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI…