go兼容java_兼容dubbo的微服务框架dubbogo;dubbo的完整go语言实现

樊奇思
2023-12-01

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

 类似资料: