Go Implementation For Apache Dubbo

Clone this repo:
  1. 811f4f1 Merge branch '1.5' by Joe Zou · 4 weeks ago master
  2. 2928502 Update README.md by Joe Zou · 4 weeks ago 1.5 v1.5.1
  3. 489e795 Merge pull request #726 from zouyx/addChange by Patrick Jiang(白泽) · 4 weeks ago
  4. 7d1f424 Change file name to the same as interface name by Joe Zou · 4 weeks ago
  5. 457dc32 Merge pull request #725 from zouyx/addChange by Joe Zou · 4 weeks ago

Apache Dubbo-go 中文

Build Status codecov go.dev reference Go Report Card license


Apache Dubbo Go Implementation.

License

Apache License, Version 2.0

Release note

v1.5.1 - Aug 23, 2020

v1.5.0 - July 24, 2020

v1.4.0 - Mar 17, 2020

v1.3.0 - Mar 1, 2020

v1.2.0 - Nov 15, 2019

v1.1.0 - Sep 7, 2019 the first release after transferred to apache

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.

dubbo go extend

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

Feature list

Finished List:

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

feature

Document

https://dubbogo.github.io/dubbo-go-website (Improving)

Quick Start

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

Running unit tests

Prepare

Mac/Linux

sh ./before_ut.sh

Windows

before_ut.bat

Run

go test ./...

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

Build

Please move to dubbo-samples/golang

Contributing

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

Benchmark

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.