Apache Dubbo Go 语言实现,架起 Java 和 Golang 之间的桥梁,与 gRPC/Dubbo/SpringCloud 生态互联互通,带领 Java 生态享受云原生时代的技术红利。请访问Dubbo 官网查看快速开始和文档。
Dubbo-go 生态覆盖多种网络协议:Triple、Dubbo、JSONRPC、gRPC、HTTP、HTTP2 等。Triple、Dubbo 和 gRPC 协议支持基于 TLS 的安全通信。
- Triple 协议是 Dubbo3 生态主推的协议,是基于 gRPC 的扩展协议,底层为HTTP2,可与 gRPC 服务互通。相当于在 gRPC 可靠的传输基础上,增加了 Dubbo 的服务治理能力。
- Dubbo 协议是 Dubbo 生态的传统协议,dubbo-go 支持的 dubbo 协议与dubbo2.x 版本兼容,是 Go 语言和旧版本 Dubbo 服务互通的不错选择。
- 我们支持通过貔貅网关暴露 Triple/Dubbo 协议到集群外部,调用者可以直接通过HTTP 协议调用 Dubbo-go 服务。
-
注册中心:
支持 Nacos(阿里开源) 、Zookeeper、ETCD、Consul、Polaris-mesh(腾讯开源) 等服务注册中间件,并拥有可扩展能力。我们也会根据用户使用情况,进一步扩展出用户需要的实现。
-
配置中心
开发者可以使用Nacos、Zookeeper 进行框架/用户的配置的发布和拉取。
-
集群策略: Failover, Failfast, Failsafe/Failback, Available, Broadcast, Forking 等
-
负载均衡策略: 柔性服务, Random, RoundRobin, LeastActive, ConsistentHash 等
-
过滤器: Echo, Hystrix, Token, AccessLog, TpsLimiter, ExecuteLimit, Generic, Auth/Sign, Metrics, Tracing, Active, Seata, Sentinel 等
-
泛化调用
-
监控: Prometheus
-
链路追踪: Jaeger, Zipkin
-
路由器: Dubbo3 Router
- Dubbo-go 快速开始: 中文 🇨🇳, English 🇺🇸
- Dubbo-go 样例: 该项目提供了一系列的样例,以展示Dubbo-go的每一项特性以及帮助你将Dubbo-go集成到你的系统中。
- Dubbo-go 百科
- imports-formatter dubbo-go 工程 import 代码块格式化工具
- dubbo-go-cli dubbo-go 命令行工具、支持展示服务、发起服务调用、定义 dubbogo 服务 struct 等功能、生成 hessian.POJO 方法体
- dubbo-go-cli-v2 新 dubbo-go 命令行工具, 支持创建 demo、创建应用模版、一键安装 protoc-gen-go-triple 及 imports-formatter 工具,从注册中心获取服务列表以及兼容 dubbo-go-cli 的所有功能
- protoc-gen-go-triple tripe 协议 pb 生成工具
- protoc-gen-dubbo3grpc dubbo3 grpc 生成工具
如果想知道 dubbogo 工具集更多更详细的使用细节,请访问 https://github.com/apache/dubbo-go/blob/master/dubbogo-cli 并仔细阅读其 raedme。
- Windows: File > Settings > Plugins > Browse repositories... > 搜索 "Dubbo Go" > Install Plugin
- MacOS: Preferences > Settings > Plugins > Browse repositories... > 搜索 "Dubbo Go" > Install Plugin
- 手动安装:
- 下载最新版插件 并且尝试手动安装, Preferences > Plugins > Install plugin from disk...
- 插件市场https://plugins.jetbrains.com/plugin/18581-dubbo-go
特性 | IDEA | GoLand |
---|---|---|
Hessian2 生成器 | ✅️ | ✅️ |
创建项目/模块 | ✅️ | ✅️ |
项目/模块模板 | 进度 |
---|---|
官方例子 | ✅️ |
空项目 | ✅️ |
中间件类型 | 可选模块 | 是否支持 |
---|---|---|
网络服务 | Gin | ✅️ |
内存缓存 | Redis | ✅️ |
数据库 | Gorm | ✅️ |
如果想知道 dubbogo 工具集更多更详细的使用细节,请访问 https://gitee.com/changeden/intellij-plugin-dubbo-go-generator 并仔细阅读其 raedme。
- Dubbo Ecosystem Entry - Apache Dubbo 群组的相关开源项目
- dubbo-go-pixiu - 动态高性能 API 网关,支持 Dubbo 和 Http 等多种协议
- dubbo-go-samples - Dubbo-go 项目案例
- dubbo-getty - Netty 风格的异步网络 IO 库,支持 tcp、udp 和 websocket 等协议
- triple - 基于 HTTP2 的 Dubbo-go 3.0 协议网络库
- dubbo-go-hessian2 - 供 Dubbo-go 使用的 hessian2 库
- gost - 供 Dubbo-go 使用的基础代码库
请访问CONTRIBUTING来了解如何提交更新以及贡献工作流。
请使用bug report 模板报告错误,使用enhancement 模版提交改进建议。
- 钉钉群: 23331795
若你正在使用 apache/dubbo-go 且认为其有用或者想对其做改进,请添列贵司信息于 用户列表,以便我们知晓。
[查看更多用户示例](apache#2)Apache Dubbo-go使用Apache许可证2.0版本,请参阅LICENSE文件了解更多。