Apache Dubbo-go, a Dubbo implementation written in Golang, is born to bridge the gap between Java and Golang. Please visit our official website for the quick start and documentation.
Dubbo-go has been implemented most layers of Dubbo, like protocol layer, registry layer, etc. An extension module is applied to Dubbo-go in order to achieve a more flexible architecture. Developers are allowed to implement a customized layer conformed to the layer interface and use them in Dubbo-go via
extension.Set method without modifying the source code.
The features that are available for Dubbo-go are:
- Role: Consumer, Provider
- Transport: HTTP, TCP
- Codec: JsonRPC V2, Hessian V2, Json for gRPC, Protocol Buffers
- Protocol: Dubbo, Triple, JsonRPC V2, gRPC, RESTful
- Router: Dubbo3 Router
- Registry: ZooKeeper, etcd, Nacos, Consul, K8s
- Dynamic Configure Center & Service Management Configurator: Zookeeper, Apollo, Nacos
- Cluster Strategy: Failover, Failfast, Failsafe/Failback, Available, Broadcast, Forking
- Load Balance: Random, RoundRobin, LeastActive, ConsistentHash
- Filter: Echo, Hystrix, Token, AccessLog, TpsLimiter, ExecuteLimit, Generic, Auth/Sign, Metrics, Tracing, Active, Seata, Sentinel
- Invoke: Generic Invoke
- Monitor: Opentracing API, Prometheus
- Tracing: For JsonRPC, For Dubbo, For gRPC
- Metadata Center: Nacos(Local), ZooKeeper(Local), etcd(Local), Consul(Local), ZooKeeper(Remoting)
- Tool: Dubbo-go-cli
Install Dubbo-go v3
go get dubbo.apache.org/dubbo-go/v3
- Dubbo-go Samples: The project gives a series of samples that show each feature available for Dubbo-go and help you know how to integrate Dubbo-go with your system.
- Dubbo-go Quick Start: 中文
🇨🇳, English 🇺🇸
- Dubbo-go Benchmark
- Dubbo-go Wiki
Please visit CONTRIBUTING for details on submitting patches and the contribution workflow.
- DingTalk Group: 23331795
Apache Dubbo-go software is licenced under the Apache License Version 2.0. See the LICENSE file for details.