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 then 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 Health Check, Circuit Break and Service Downgrade, TokenFilter, AccessLogFilter, TpsLimitFilter, ExecuteLimitFilter, GenericServiceFilter, Auth/Sign, MetricsFilter, TracingFilter
- 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
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.
Please use the bug report template to report bugs, use the enhancement template to provide suggestions for improvement.
- DingTalk Group: 23331795
If you are using apache/dubbo-go and think that it helps you or want to contribute code for Dubbo-go, please add your company to the user list to let us know your needs.
Apache Dubbo-go software is licenced under the Apache License Version 2.0. See the LICENSE file for details.