dubbo.apache.org/dubbo-go/v3@v3.1.1/README_CN.md (about) 1 # Apache Dubbo-go 2 3 [![Build Status](https://github.com/apache/dubbo-go/workflows/CI/badge.svg)](https://travis-ci.org/apache/dubbo-go) 4 [![codecov](https://codecov.io/gh/apache/dubbo-go/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/dubbo-go) 5 [![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/apache/dubbo-go?tab=doc) 6 [![Go Report Card](https://goreportcard.com/badge/github.com/apache/dubbo-go)](https://goreportcard.com/report/github.com/apache/dubbo-go) 7 ![license](https://img.shields.io/badge/license-Apache--2.0-green.svg) 8 9 --- 10 11 [English 🇺🇸](./README.md) 12 13 Apache Dubbo Go 语言实现,架起 Java 和 Golang 之间的桥梁,与 gRPC/Dubbo/SpringCloud 生态互联互通,带领 Java 生态享受云原生时代的技术红利。请访问[Dubbo 官网](https://dubbo.apache.org/zh/docs3-v2/golang-sdk/)查看快速开始和文档。 14 15 ## RPC 调用 16 17 ![](https://dubbo-go-pixiu.github.io/img/pixiu-dubbo-ecosystem.png) 18 19 Dubbo-go 生态覆盖多种网络协议:Triple、Dubbo、JSONRPC、gRPC、HTTP、HTTP2 等。Triple、Dubbo 和 gRPC 协议支持基于 TLS 的安全通信。 20 21 - Triple 协议是 Dubbo3 生态主推的协议,是基于 gRPC 的扩展协议,底层为HTTP2,可与 gRPC 服务互通。**相当于在 gRPC 可靠的传输基础上,增加了 Dubbo 的服务治理能力。** 22 - Dubbo 协议是 Dubbo 生态的传统协议,dubbo-go 支持的 dubbo 协议与dubbo2.x 版本兼容,是 Go 语言和旧版本 Dubbo 服务互通的不错选择。 23 - 我们支持通过[貔貅](https://github.com/apache/dubbo-go-pixiu)网关暴露 Triple/Dubbo 协议到集群外部,调用者可以直接通过HTTP 协议调用 Dubbo-go 服务。 24 25 ## 服务治理 26 27 ![](https://dubbogo.github.io/img/devops.png) 28 29 - **注册中心**: 30 31 支持 Nacos(阿里开源) 、Zookeeper、ETCD、Consul、Polaris-mesh(腾讯开源) 等服务注册中间件,并拥有可扩展能力。我们也会根据用户使用情况,进一步扩展出用户需要的实现。 32 33 - **配置中心** 34 35 开发者可以使用Nacos、Zookeeper 进行框架/用户的配置的发布和拉取。 36 37 - **集群策略**: Failover, [Failfast](https://github.com/apache/dubbo-go/pull/140), [Failsafe/Failback](https://github.com/apache/dubbo-go/pull/136), [Available](https://github.com/apache/dubbo-go/pull/155), [Broadcast](https://github.com/apache/dubbo-go/pull/158), [Forking](https://github.com/apache/dubbo-go/pull/161) 等 38 39 - **负载均衡策略**: [柔性服务](https://github.com/apache/dubbo-go/pull/1649), Random, [RoundRobin](https://github.com/apache/dubbo-go/pull/66), [LeastActive](https://github.com/apache/dubbo-go/pull/65), [ConsistentHash](https://github.com/apache/dubbo-go/pull/261) 等 40 41 - [**过滤器**](./filter): Echo, Hystrix, Token, AccessLog, TpsLimiter, ExecuteLimit, Generic, Auth/Sign, Metrics, Tracing, Active, Seata, Sentinel 等 42 43 - **泛化调用** 44 45 - **监控**: [Prometheus](https://github.com/apache/dubbo-go/pull/342) 46 47 - **链路追踪**: Jaeger, Zipkin 48 49 - **路由器**: [Dubbo3 Router](https://github.com/apache/dubbo-go/pull/1187) 50 51 ## 快速开始 52 53 - Dubbo-go 快速开始: [中文 🇨🇳](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart_triple.html), [English 🇺🇸](https://dubbogo.github.io/en-us/docs/user/quickstart/3.0/quickstart_triple.html) 54 - [Dubbo-go 样例](https://github.com/apache/dubbo-go-samples): 该项目提供了一系列的样例,以展示Dubbo-go的每一项特性以及帮助你将Dubbo-go集成到你的系统中。 55 - [Dubbo-go 百科](https://github.com/apache/dubbo-go/wiki) 56 57 ## 工具 58 59 * [imports-formatter](https://github.com/dubbogo/tools/blob/master/cmd/imports-formatter/main.go) dubbo-go 工程 import 代码块格式化工具 60 * [dubbo-go-cli](https://github.com/dubbogo/tools/blob/master/cmd/dubbogo-cli/main.go) dubbo-go 命令行工具、支持展示服务、发起服务调用、定义 dubbogo 服务 struct 等功能、生成 hessian.POJO 方法体 61 * [dubbo-go-cli-v2](https://github.com/dubbogo/tools/blob/master/cmd/dubbogo-cli-v2/README_CN.md) 新 dubbo-go 命令行工具, 支持创建 demo、创建应用模版、一键安装 protoc-gen-go-triple 及 imports-formatter 工具,从注册中心获取服务列表以及兼容 [dubbo-go-cli](https://github.com/dubbogo/tools/blob/master/cmd/dubbogo-cli/main.go) 的所有功能 62 * [protoc-gen-go-triple](https://github.com/dubbogo/tools/blob/master/cmd/protoc-gen-go-triple/main.go) tripe 协议 pb 生成工具 63 * [protoc-gen-dubbo3grpc](https://github.com/dubbogo/tools/blob/master/cmd/protoc-gen-dubbo3grpc/main.go) dubbo3 grpc 生成工具 64 65 如果想知道 dubbogo 工具集更多更详细的使用细节,请访问 https://github.com/apache/dubbo-go/blob/master/dubbogo-cli 并仔细阅读其 raedme。 66 67 ## Intellij 插件 68 69 * Windows: File > Settings > Plugins > Browse repositories... > 搜索 "Dubbo Go" > Install Plugin 70 * MacOS: Preferences > Settings > Plugins > Browse repositories... > 搜索 "Dubbo Go" > Install Plugin 71 * 手动安装: 72 * 下载[最新版插件](https://plugins.jetbrains.com/plugin/18581-dubbo-go) 并且尝试手动安装, Preferences > Plugins > Install plugin from disk... 73 * 插件市场[https://plugins.jetbrains.com/plugin/18581-dubbo-go](https://plugins.jetbrains.com/plugin/18581-dubbo-go) 74 75 76 ### 功能特性 77 | 特性 | IDEA | GoLand | 78 |:------------:|:----:|:------:| 79 | Hessian2 生成器 | ✅️ | ✅️ | 80 | 创建项目/模块 | ✅️ | ✅️ | 81 82 #### 创建新项目 83 | 项目/模块模板 | 进度 | 84 |:-------:|:---:| 85 | 官方例子 | ✅️ | 86 | 空项目 | ✅️ | 87 88 ##### 空项目模板中间件 89 | 中间件类型 | 可选模块 | 是否支持 | 90 |:-----:|:-------------------------------------:|:----:| 91 | 网络服务 | [Gin](github.com/gin-gonic/gin) | ✅️ | 92 | 内存缓存 | [Redis](github.com/go-redis/redis/v8) | ✅️ | 93 | 数据库 | [Gorm](gorm.io/gorm) | ✅️ | 94 95 如果想知道 dubbogo 工具集更多更详细的使用细节,请访问 [https://gitee.com/changeden/intellij-plugin-dubbo-go-generator](https://gitee.com/changeden/intellij-plugin-dubbo-go-generator) 并仔细阅读其 raedme。 96 97 ## 生态 98 99 * [Dubbo Ecosystem Entry](https://github.com/apache?utf8=%E2%9C%93&q=dubbo&type=&language=) - Apache Dubbo 群组的相关开源项目 100 * [dubbo-go-pixiu](https://github.com/apache/dubbo-go-pixiu) - 动态高性能 API 网关,支持 Dubbo 和 Http 等多种协议 101 * [dubbo-go-samples](https://github.com/apache/dubbo-go-samples) - Dubbo-go 项目案例 102 * [dubbo-getty](https://github.com/apache/dubbo-getty) - Netty 风格的异步网络 IO 库,支持 tcp、udp 和 websocket 等协议 103 * [triple](https://github.com/dubbogo/triple) - 基于 HTTP2 的 Dubbo-go 3.0 协议网络库 104 * [dubbo-go-hessian2](https://github.com/apache/dubbo-go-hessian2) - 供 Dubbo-go 使用的 hessian2 库 105 * [gost](https://github.com/dubbogo/gost) - 供 Dubbo-go 使用的基础代码库 106 107 ## 如何贡献 108 109 请访问[CONTRIBUTING](./CONTRIBUTING.md)来了解如何提交更新以及贡献工作流。 110 111 ## 报告问题 112 113 请使用[bug report 模板](issues/new?template=bug-report.md)报告错误,使用[enhancement 模版](issues/new?template=enhancement.md)提交改进建议。 114 115 ## 联系 116 117 - [钉钉群](https://www.dingtalk.com/): 23331795 118 119 ## [用户列表](https://github.com/apache/dubbo-go/issues/2) 120 121 若你正在使用 [apache/dubbo-go](https://github.com/apache/dubbo-go) 且认为其有用或者想对其做改进,请添列贵司信息于 [用户列表](https://github.com/apache/dubbo-go/issues/2),以便我们知晓。 122 123 <div> 124 <table> 125 <tbody> 126 <tr></tr> 127 <tr> 128 <td align="center" valign="middle"> 129 <a href="" target="_blank"> 130 <img width="222px" src="https://pic.c-ctrip.com/common/c_logo2013.png"> 131 </a> 132 </td> 133 <td align="center" valign="middle"> 134 <a href="" target="_blank"> 135 <img width="222px" src="https://user-images.githubusercontent.com/52339367/84628582-80512200-af1b-11ea-945a-c6b4b9ad31f2.png"> 136 </a> 137 </td> 138 <td align="center" valign="middle"> 139 <a href="" target="_blank"> 140 <img width="222px" src="https://mosn.io/images/community/tuya.png"> 141 </a> 142 </td> 143 <td align="center" valign="middle"> 144 <a href="https://github.com/mosn" target="_blank"> 145 <img width="222px" src="https://raw.githubusercontent.com/mosn/community/master/icons/png/mosn-labeled-horizontal.png"> 146 </a> 147 </td> 148 <td align="center" valign="middle"> 149 <a href="" target="_blank"> 150 <img width="222px" src="https://festatic.estudy.cn/assets/xhx-web/layout/logo.png"> 151 </a> 152 </td> 153 </tr> 154 <tr></tr> 155 <tr> 156 <td align="center" valign="middle"> 157 <a href="http://www.j.cn" target="_blank"> 158 <img width="222px" src="http://image.guang.j.cn/bbs/imgs/home/pc/icon_8500.png"> 159 </a> 160 </td> 161 <td align="center" valign="middle"> 162 <a href="https://www.genshuixue.com/" target="_blank"> 163 <img width="222px" src="https://i.gsxcdn.com/0cms/d/file/content/2020/02/5e572137d7d94.png"> 164 </a> 165 </td> 166 <td align="center" valign="middle"> 167 <a href="http://www.51h5.com" target="_blank"> 168 <img width="222px" src="https://fs-ews.51h5.com/common/hw_220_black.png"> 169 </a> 170 </td> 171 <td align="center" valign="middle"> 172 <a href="https://www.zto.com" target="_blank"> 173 <img width="222px" src="https://fscdn.zto.com/fs8/M02/B2/E4/wKhBD1-8o52Ae3GnAAASU3r62ME040.png"> 174 </a> 175 </td> 176 <td align="center" valign="middle"> 177 <a href="https://www.icsoc.net/" target="_blank"> 178 <img width="222px" src="https://help.icsoc.net/img/icsoc-logo.png"> 179 </a> 180 </td> 181 </tr> 182 <tr></tr> 183 <tr> 184 <td align="center" valign="middle"> 185 <a href="http://www.mgtv.com" target="_blank"> 186 <img width="222px" src="https://ugc.hitv.com/platform_oss/F6077F1AA82542CDBDD88FD518E6E727.png"> 187 </a> 188 </td> 189 <td align="center" valign="middle"> 190 <a href="http://www.dmall.com" target="_blank"> 191 <img width="222px" src="https://mosn.io/images/community/duodian.png"> 192 </a> 193 </td> 194 <td align="center" valign="middle"> 195 <a href="http://www.ruubypay.com" target="_blank"> 196 <img width="222px" src="http://website.ruubypay.com/wifi/image/line5.png"> 197 </a> 198 </td> 199 <td align="center" valign="middle"> 200 <a href="https://www.dingtalk.com" target="_blank"> 201 <img width="222px" src="https://gw.alicdn.com/tfs/TB1HPATMrrpK1RjSZTEXXcWAVXa-260-74.png"> 202 </a> 203 </td> 204 <td align="center" valign="middle"> 205 <a href="https://www.autohome.com.cn" target="_blank"> 206 <img width="222px" src="https://avatars.githubusercontent.com/u/18279051?s=200&v=4"> 207 </a> 208 </td> 209 </tr> 210 <tr></tr> 211 <tr> 212 <td align="center" valign="middle"> 213 <a href="https://www.mi.com/" target="_blank"> 214 <img width="222px" src="https://s02.mifile.cn/assets/static/image/logo-mi2.png"> 215 </a> 216 </td> 217 <td align="center" valign="middle"> 218 <a href="https://opayweb.com/" target="_blank"> 219 <img width="222px" src="https://open.opayweb.com/static/img/logo@2x.35c6fe4c.jpg"> 220 </a> 221 </td> 222 <td align="center" valign="middle"> 223 <a href="http://www.zongheng.com/" target="_blank"> 224 <img width="222px" src="https://img.xmkanshu.com/u/202204/01/201253131.png"> 225 </a> 226 </td> 227 <td align="center" valign="middle"> 228 <a href="https://amap.com/" target="_blank"> 229 <img width="222px" src="https://github.com/seven-tan/static/blob/main/logo.png" > 230 </a> 231 </td> 232 <td align="center" valign="middle"> 233 <a href="https://chinaz.com/" target="_blank"> 234 <img width="222px" src="https://img.chinaz.com/2020/img/chinaz-logo.png" > 235 </a> 236 </td> 237 </tr> 238 <tr></tr> 239 </tbody> 240 </table> 241 </div> 242 [查看更多用户示例](https://github.com/apache/dubbo-go/issues/2) 243 244 ## 许可证 245 246 Apache Dubbo-go使用Apache许可证2.0版本,请参阅LICENSE文件了解更多。