1 说明
一个支持 dubbo 协议的 go 微服务框架;dubbo 的完整 go 语言实现dubbogo,以及其代码示例dubbogo-examples。
2 feature
v0.2 feature list:
基于 dubbo(hessian2.0) + tcp 实现的 go client 以阻塞并行方式调用 dubbo(hessian2)原生协议的 java server 的服务;
v 0.1.2 feature list:
基于 jsonrpc 2.0 + http 实现的 go client 可以调用基于 dubbogo(jsonrpc 2.0)实现的 go server 的服务;
基于 jsonrpc 2.0 + http 实现的 go client 可以调用基于 dubbo(jsonrpc 2.0)实现的 java server 的服务;
基于 jsonrpc 2.0 + http 实现的 java client 可以调用基于 dubbogo(jsonrpc 2.0)实现的 go server 的服务;
v 2.6.5.0 feature list:
Role: Consumer(√), Provider(√);
Transport: HTTP(√), TCP(√);
Codec: JsonRPC v2(√), Hessian v2(√);
Registry: ZooKeeper(√);
Cluster Strategy: Failover(√);
Load Balance: Random(√);
Filter: Echo Health Check(√);
2.1 补充
将近两年【2016/10/07 ~ 2018/05/18】的多次延期后,v0.2.0 于今日发布,目前仅仅在 client 层面支持了 dubbo 原生协议。
v0.1.2 其实现基于 http + jsonrpc2.0.
v 2.6.5.0
作为一个大版本迭代,对之前版本的代码进行了重构。基于 dubbo 的 extension 模块和分层的代码设计 (包括 protocol layer, registry layer, cluster layer, config 等等)。我们的目标是:你可以对这些分层接口进行新的实现,并通过调用 extension 模块的 “ extension.SetXXX ” 方法来覆盖 dubbo-go [同 go-for-apache-dubbo ] 的默认实现,以完成自己的特殊需求而无需修改源代码;
3 代码示例
在 dubbogo-examples 的示例user-info下面添加了 client & server & java-client & java-server 四个示例,完整演示了上面 v0.1.2 所示的三个 featrue;
在 dubbogo-examples 的示例user-info下面添加了 client & java-server 两个示例,完整演示了上面 v0.2.0 所示的 featrue;
更多原创文章干货分享,请关注公众号
加微信实战群请加微信(注明:实战群):gocnio