Apache Dubbo-go English

Build Status codecov go.dev reference Go Report Card license


Apache Dubbo Go 语言实现,架起 Java 和 Go 之间的桥梁,与 gRPC/Spring Cloud 生态互联互通,带领 Java 生态享受云原生时代的技术红利。

证书

Apache License, Version 2.0

发布日志

v1.5.5 - 2021年1月5日

v1.4.5 - 2020年11月18日

v1.5.4 - 2020年11月1日

v1.5.3 - 2020年9月23日

v1.5.1 - 2020年8月23日

v1.5.0 - 2020年7月24日

v1.4.0 - 2020年3月17日

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 ]的默认实现,以完成自己的特殊需求而无需修改源代码。同时,欢迎你为社区贡献有用的拓展实现。

dubbo go extend

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

功能列表

实现列表:

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

feature

简化 import

当使用 dubbo-go 提供的服务时,你需要通过 import 引入大量的组件,如注册中心、RPC 协议、配置中心等等。为了简化这一部分工作,我们创建了项目 imports,该项目集成了 dubbo-go 的内置组件,能够帮助你更简易使用 dubbo-go 提供的组件集合。
比如当你使用 dubbo-go 的服务时,你想要指定使用 zookeeper 注册中心、dubbo 协议、nacos 配置中心,只需在你的代码中加入 import github.com/dubbogo/imports/dubbo/nacos/zk。 如果你需要更多简化 import 相关的内容支持,请访问 imports

文档

请访问 dubbo官方文档中关于 dubbo-go 的系列文档过往dubbo-go文档列表

快速开始

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

运行单测

执行全部校验

make verify

校验许可证

make license

执行单元测试

make test

编译

请移步 dubbo-go-samples

如何贡献

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

社区

如果想访问官方钉钉群,请在钉钉中搜索社区群号 31363295 或者 扫描如下二维码

dubbogo 社区已经开通微信公众号 “dubbogo大区”,可在微信搜索 “dubbogo大区” 或者扫描如下二维码关注,可通过公众号私信留言加入 dubbogo 微信社区。

作为一个维护已经帮助构建了经受多家大型微服务系统的社区,我们足以为现有的成绩感到自豪。社区欢迎能提出建设性意见者,只知索取者和喷子请绕行。

性能测试

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

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

User List

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