AppNet RPC (arpc) is a minimal, fast, and pluggable Remote Procedure Call framework built on top of UDP, with support for customizable serialization formats.
- Go 1.20 or later
- For installation instructions, see Go’s Getting Started guide.
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:
- Define your service as a headless service by setting:
spec: clusterIP: None- Explicitly specify the UDP protocol for your service port:
ports: - port: 9000 targetPort: 9000 protocol: UDP- 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.
If you have any questions or comments, please get in touch with Xiangfeng Zhu ([email protected]).