Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. arpc

arpc

MITGov1.2.17

A high-performance Go RPC framework supporting two-way calling, notifications, and broadcast for effective network communication.

GitHubGitHub
1.1k stars80 forks0 contributors

What is arpc?

ARPC is a Go framework for building high-performance network applications with rich communication patterns like two-way calling, notifications, and broadcast. It solves the need for flexible, efficient remote procedure calls in distributed systems and real-time services.

Target Audience

Go developers building distributed systems, microservices, real-time applications (like chat or gaming servers), or any network service requiring bidirectional RPC.

Value Proposition

Developers choose ARPC for its combination of high performance, bidirectional communication support, and extensibility through middleware and customizations, without the overhead of larger frameworks.

Overview

More effective network communication, two-way calling, notify and broadcast supported.

Use Cases

Best For

  • Building real-time chat or notification servers
  • Implementing microservices with bidirectional RPC
  • Creating pub/sub systems for event-driven architectures
  • Developing high-performance game servers
  • Building custom network protocols with middleware support
  • Replacing or extending standard Go net/rpc with more features

Not Ideal For

  • Projects requiring built-in service discovery and orchestration tools
  • Teams that prioritize large ecosystems with extensive third-party integrations
  • Applications where standard HTTP/REST or gRPC with automatic code generation suffices
  • Rapid prototyping with minimal configuration and batteries-included features

Pros & Cons

Pros

Bidirectional Communication Patterns

Supports two-way calling and notifications, allowing both clients and servers to initiate requests and fire-and-forget messages, as detailed in the Features table for interactive directions.

High Performance Foundation

Emphasizes performance with benchmarks and optimizations like batch writes, making it suitable for real-time applications, though the README advises running tests yourself for accurate results.

Extensive Middleware Support

Offers router and coder middleware for logging, recovery, compression, and encryption, enabling easy customization without modifying core logic, as shown in the Router Middleware and Coder Middleware sections.

Built-in Pub/Sub Extension

Includes publish-subscribe patterns out of the box for event-driven architectures, with examples provided in the Pub/Sub Examples section, reducing the need for external libraries.

Flexible Customization Options

Allows custom protocols, codecs, loggers, and queue management, providing a foundation for tailored network applications, as demonstrated in sections like Custom Net Protocol and Custom Codec.

Cons

Limited High-Level Abstractions

Lacks built-in support for common distributed systems features like automatic load balancing or service discovery, requiring manual implementation for production-grade microservices.

Documentation Fragmentation

Examples and extensions are split into a separate repository (arpcex), which can make it harder to find integrated documentation and increase setup complexity for newcomers.

Smaller Ecosystem and Community

Compared to established frameworks like gRPC or rpcx, ARPC has fewer third-party tools, plugins, and community contributions, which may limit support and integration options.

Configuration Overhead

The emphasis on customization and minimal core means more boilerplate code is needed for basic setups, such as implementing authentication or error handling from scratch.

Frequently Asked Questions

Quick Stats

Stars1,089
Forks80
Contributors0
Open Issues0
Last commit2 months ago
CreatedSince 2020

Tags

#high-performance#distributed-systems#pubsub#microservices#rpc-framework#network-communication#go#real-time#middleware

Built With

G
Go

Included in

Go169.1k
Auto-fetched 9 hours ago

Related Projects

Go-zeroGo-zero

A cloud-native Go microservices framework with cli tool for productivity.

Stars33,313
Forks4,314
Last commit17 hours ago
go-kitgo-kit

A standard library for microservices.

Stars27,420
Forks2,437
Last commit2 years ago
KratosKratos

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

Stars25,914
Forks4,180
Last commit20 days ago
Go-microGo-micro

A Go agent harness and service framework

Stars23,058
Forks2,422
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub