Skip to content

appnet-org/arpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

487 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AppNet RPC (aRPC)

Go Report Card Apache 2.0 License

AppNet RPC (arpc) is a minimal, fast, and pluggable Remote Procedure Call framework built on top of UDP, with support for customizable serialization formats.

Prerequisites

  • Go 1.20 or later

Quick Start

See examples/README.md

Note: If you're running aRPC on Kubernetes and want to connect using a DNS name (e.g., server.default.svc.cluster.local), you must:

  1. Define your service as a headless service by setting:
    spec:
      clusterIP: None
  2. Explicitly specify the UDP protocol for your service port:
    ports:
      - port: 9000
        targetPort: 9000
        protocol: UDP
  3. Use the fully qualified domain name (FQDN) when specifying the server address, such as server.default.svc.cluster.local:9000.

Without these settings, Kubernetes will assign a default TCP-based ClusterIP, which does not work properly for aRPC(UDP) communication.

Learn more

Contact

If you have any questions or comments, please get in touch with Xiangfeng Zhu (xfzhu@cs.washington.edu).

Releases

No releases published

Packages

 
 
 

Contributors