Apache Dubbo-go English

Build Status codecov


Apache Dubbo Go 语言实现

证书

Apache License, Version 2.0

发布日志

v1.3.0 - 2020年3月1日

v1.2.0 - 2019年11月15日

v1.1.0 - 2019年9月7日 捐献给Apache之后的第一次release

v1.0.0 - 2019年5月29日 兼容dubbo v2.6.5 版本

工程架构

基于dubbo的extension模块和分层的代码设计(包括 protocol layer, registry layer, cluster layer, config 等等)。我们的目标是:你可以对这些分层接口进行新的实现,并通过调用 extension 模块的“ extension.SetXXX ”方法来覆盖 dubbo-go [同 go-for-apache-dubbo ]的默认实现,以完成自己的特殊需求而无需修改源代码。同时,欢迎你为社区贡献有用的拓展实现。

框架设计

关于详细设计请阅读 code layered design

功能列表

实现列表:

开发中列表:

  • 负载均衡策略: ConsistentHash
  • 注册中心: k8s
  • 元数据中心 (dubbo v2.7.x)
  • Metrics: Opentracing/Promethus(dubbo v2.7.x)

你可以通过访问 roadmap 知道更多关于 dubbo-go 的信息。

feature

文档

https://dubbogo.github.io/dubbo-go-website (完善中)

快速开始

dubbo-samples/golang这个项目的事例展示了如何使用 dubbo-go 。请仔细阅读 dubbo-samples/golang/README.md 学习如何处理配置并编译程序。

运行单测

准备

Mac/Linux

sh ./before_ut.sh

Windows

before_ut.bat

执行

go test ./...

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

编译

请移步 dubbo-samples/golang

如何贡献

如果您愿意给 Apache/dubbo-go 贡献代码或者文档,我们都热烈欢迎。具体请参考 contribution intro

性能测试

性能测试项目是 dubbo-go-benchmark

关于 dubbo-go 性能测试报告,请阅读 dubbo benchmarking report & jsonrpc benchmarking report

User List

若你正在使用 apache/dubbo-go 且认为其有用或者向对其做改进,请忝列贵司信息于 用户列表,以便我们知晓之。

ctrip