Go for Apache Dubbo

Clone this repo:
  1. 78e7ed0 Merge pull request #266 from imxyb/bugfix/return-error by vito.he · 11 days ago master
  2. e4561b6 should return error when `NewURL` failed. by imxyb · 12 days ago
  3. d77b772 Merge pull request #265 from flycash/bug/reverseRegistryProtocol by fangyincheng · 12 days ago
  4. 6d939d6 It seems that we can not change the registryProtocol to be singleton. If we do tthat, the listen, speciall zk registry listener doesn't work. by Ming Deng · 12 days ago
  5. 6a691cd Merge pull request #251 from flycash/bug/registryProtocolSingleton by vito.he · 4 weeks ago

Apache Dubbo-go 中文

Build Status codecov

Apache Dubbo Go Implementation.


Apache License, Version 2.0

Release note

v1.0.0 - May 29, 2019 compatible with dubbo v2.6.5

Project Architecture

Both extension module and layered project architecture is according to Apache Dubbo (including protocol layer, registry layer, cluster layer, config layer and so on), the advantage of this arch is as following: you can implement these layered interfaces in your own way, override the default implementation of dubbo-go by calling ‘extension.SetXXX’ of extension, complete your special needs without modifying the source code. At the same time, you are welcome to contribute implementation of useful extension to the community.

frame design

If you wanna know more about dubbo-go, please visit this reference Project Architeture design

Feature list

Finished List:

Working List:

  • Load Balance: ConsistentHash
  • Registry: k8s
  • Configure Center: apollo
  • Metadata Center (dubbo v2.7.x)
  • Metrics: Promethus(dubbo v2.7.x)

Todo List:

  • Registry: kubernetes
  • Routing: istio
  • tracing (dubbo ecosystem)

You can know more about dubbo-go by its roadmap.



Quick Start

dubbogo-samples shows how to use dubbo-go. Please read the dubbogo-samples/README.md carefully to learn how to dispose the configuration and compile the program.

Running unit tests



sh ./before_ut.sh




go test ./...

# coverage
go test ./... -coverprofile=coverage.txt -covermode=atomic


If you are willing to do some code contributions and document contributions to Apache/dubbo-go, please visit contribution intro.


Benchmark project dubbo-go-benchmark.

About dubbo-go benchmarking report, please refer to dubbo benchmarking report & jsonrpc benchmarking report.

User List

If you are using apache/dubbo-go and think that it helps you or want do some contributions to it, please add your company to to the user list to let us know your needs.

ctripExcellent Health Technology Group ctrip


Stargazers over time