Apache Dubbo-go English
Apache Dubbo Go 语言实现
Apache License, Version 2.0
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
实现列表:
-
角色端
- Consumer
- Provider
-
传输协议
- HTTP
- TCP
-
序列化协议
- JsonRPC V2
- Hessian V2
- json for grpc
-
协议
-
路由器
-
注册中心
-
动态配置中心与服务治理配置器
-
集群策略
- Failover
- Failfast
- Failsafe/Failback
- Available
- Broadcast
- Forking
-
负载均衡策略
- Random
- RoundRobin
- LeastActive
- ConsistentHash
-
过滤器
-
调用
-
监控
- Opentracing API
- Prometheus
-
Tracing
-
元数据中心
-
服务发现
你可以通过访问 roadmap 知道更多关于 dubbo-go 的信息。
请访问 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 或者 扫描如下二维码。
如果想加入到社区微信群,可以先添加社区负责人 于雨 的微信 AlexanderStocks 。添加微信之前,请先给 dubbo-go 点 star 作为对项目的支持,添加好友时请报上 github ID 以进行验证。
作为一个维护已经帮助构建了经受多家大型微服务系统的社区,我们足以为现有的成绩感到自豪。社区欢迎能提出建设性意见者,只知索取者和喷子请绕行。
性能测试项目是 dubbo-go-benchmark。
关于 dubbo-go 性能测试报告,请阅读 dubbo benchmarking report & jsonrpc benchmarking report。
若你正在使用 apache/dubbo-go 且认为其有用或者想对其做改进,请添列贵司信息于 用户列表,以便我们知晓。