From ca2a46f8dfb22e1c02fbfe2a3695356429525d09 Mon Sep 17 00:00:00 2001 From: XavierNiu <a@nxw.name> Date: Sun, 20 Jun 2021 22:49:18 +0800 Subject: [PATCH] update README (#1269) update Reporting bugs use chinese rename contributing rename CONTRIBUTING update README_CN fix typo fix CONTRIBUTING file path update quick start link fix typo fix type fix typo --- .gitignore | 3 + CHANGE.md => CHANGELOG.md | 0 contributing.md => CONTRIBUTING.md | 0 README.md | 236 +++++------------------------ README_CN.md | 235 +++++----------------------- 5 files changed, 85 insertions(+), 389 deletions(-) rename CHANGE.md => CHANGELOG.md (100%) rename contributing.md => CONTRIBUTING.md (100%) diff --git a/.gitignore b/.gitignore index 898962e24..f161759bd 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ config_center/apollo/mockDubbog.properties.json .*.sw? /license-header-checker-linux/ /license-header-checker-linux.zip + +# macOS +.DS_Store diff --git a/CHANGE.md b/CHANGELOG.md similarity index 100% rename from CHANGE.md rename to CHANGELOG.md diff --git a/contributing.md b/CONTRIBUTING.md similarity index 100% rename from contributing.md rename to CONTRIBUTING.md diff --git a/README.md b/README.md index 264da73b4..c3031e8fd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Apache Dubbo-go [涓枃](./README_CN.md) # +# Apache Dubbo-go [](https://travis-ci.org/apache/dubbo-go) [](https://codecov.io/gh/apache/dubbo-go) @@ -8,223 +8,66 @@ --- -Apache Dubbo Go Implementation to bridge the gap between java and go. +[涓枃 馃嚚馃嚦](./README_CN.md) +Apache Dubbo-go, a Dubbo implementation written in Golang, is born to bridge the gap between Java and Golang. Please visit our [official website](https://dubbogo.github.io) for the quick start and documentation. -## License - -Apache License, Version 2.0 - -## Release note ## - -[v1.5.6 - Apr 8, 2021](https://github.com/apache/dubbo-go/releases/tag/v1.5.6) - -[v1.5.5 - Jan 5, 2021](https://github.com/apache/dubbo-go/releases/tag/v1.5.5) - -[v1.4.5 - Nov 18, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.4.5) - -[v1.5.4 - Nov 1, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.5.4) - -[v1.5.3 - Sep 23, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.5.3) - -[v1.5.1 - Aug 23, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.5.1) - -[v1.5.0 - July 24, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.5.0) - -[v1.4.0 - Mar 17, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.4.0) - -[v1.3.0 - Mar 1, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.3.0) - -[v1.2.0 - Nov 15, 2019](https://github.com/apache/dubbo-go/releases/tag/v1.2.0) - -[v1.1.0 - Sep 7, 2019 the first release after transferred to apache](https://github.com/apache/dubbo-go/releases/tag/v1.1.0) - -[v1.0.0 - May 29, 2019 compatible with dubbo v2.6.5](https://github.com/apache/dubbo-go/releases/tag/v1.0.0) - -## Project Architecture ## - -Both extension module and layered project architecture is according to Apache Dubbo (including protocol layer, registry layer, cluster layer, config layer and so on), the advantage of this arch is as following: you can implement these layered interfaces in your own way, override the default implementation of dubbo-go by calling 'extension.SetXXX' of extension, complete your special needs without modifying the source code. At the same time, you are welcome to contribute implementation of useful extension to the community. - - - -If you want to know more about dubbo-go, please visit this reference [Project Architecture design](https://github.com/apache/dubbo-go/wiki/dubbo-go-V1.0-design) +## Architecture -## Feature list ## + -Finished List: +Dubbo-go has been implemented most layers of Dubbo, like protocol layer, registry layer, etc. An extension module is applied to Dubbo-go in order to achieve a more flexible architecture. Developers are allowed to implement a customized layer conformed to the layer interface and use then in Dubbo-go via `extension.Set` method without modifying the source code. -- Role - * Consumer - * Provider +## Features -- Transport - * HTTP - * TCP +The features that are available for Dubbo-go are: -- Codec - * JsonRPC V2 - * Hessian V2 - * [json for grpc](https://github.com/apache/dubbo-go/pull/582) - * protobuf +- **Role**: Consumer, Provider +- **Transport**: HTTP, TCP +- **Codec**: JsonRPC V2, Hessian V2, [Json for gRPC](https://github.com/apache/dubbo-go/pull/582), Protocol Buffers +- **Protocol**: Dubbo, [Triple](https://github.com/dubbogo/triple), JsonRPC V2, [gRPC](https://github.com/apache/dubbo-go/pull/311), [RESTful](https://github.com/apache/dubbo-go/pull/352) +- **Router**: [Dubbo3 Router](https://github.com/apache/dubbo-go/pull/1187) +- **Registry**: ZooKeeper, [etcd](https://github.com/apache/dubbo-go/pull/148), [Nacos](https://github.com/apache/dubbo-go/pull/151), [Consul](https://github.com/apache/dubbo-go/pull/121), [K8s](https://github.com/apache/dubbo-go/pull/400) +- **Dynamic Configure Center & Service Management Configurator**: Zookeeper, [Apollo](https://github.com/apache/dubbo-go/pull/250), [Nacos](https://github.com/apache/dubbo-go/pull/357) +- **Cluster Strategy**: 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) +- **Load Balance**: 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) +- **Filter**: Echo Health Check, [Circuit Break and Service Downgrade](https://github.com/apache/dubbo-go/pull/133), [TokenFilter](https://github.com/apache/dubbo-go/pull/202), [AccessLogFilter](https://github.com/apache/dubbo-go/pull/214), [TpsLimitFilter](https://github.com/apache/dubbo-go/pull/237), [ExecuteLimitFilter](https://github.com/apache/dubbo-go/pull/246), [GenericServiceFilter](https://github.com/apache/dubbo-go/pull/291), [Auth/Sign](https://github.com/apache/dubbo-go/pull/323), [MetricsFilter](https://github.com/apache/dubbo-go/pull/342), [TracingFilter](https://github.com/apache/dubbo-go/pull/335) +- **Invoke**: [Generic Invoke](https://github.com/apache/dubbo-go/pull/122) +- **Monitor**: Opentracing API, [Prometheus](https://github.com/apache/dubbo-go/pull/342) +- **Tracing**: [For JsonRPC](https://github.com/apache/dubbo-go/pull/335), [For Dubbo](https://github.com/apache/dubbo-go/pull/344), [For gRPC](https://github.com/apache/dubbo-go/pull/397) +- **Metadata Center**: [Nacos(Local)](https://github.com/apache/dubbo-go/pull/522), [ZooKeeper(Local)](https://github.com/apache/dubbo-go/pull/633), [etcd(Local)](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/metadata/report/etcd/report.go), [Consul(Local)](https://github.com/apache/dubbo-go/pull/633), [ZooKeeper(Remoting)](https://github.com/apache/dubbo-go/pull/1161) +- **Tool**: [Dubbo-go-cli](https://github.com/apache/dubbo-go/pull/818) -- Protocol - * Dubbo - * [Triple](https://github.com/dubbogo/triple) - * Jsonrpc2.0 - * [gRPC](https://github.com/apache/dubbo-go/pull/311) - * [RESTful](https://github.com/apache/dubbo-go/pull/352) +## Getting started -- Router - * [Dubbo3 router](https://github.com/apache/dubbo-go/pull/1187) +### Install Dubbo-go v3 -- Registry - * ZooKeeper - * [etcd v3](https://github.com/apache/dubbo-go/pull/148) - * [nacos](https://github.com/apache/dubbo-go/pull/151) - * [consul](https://github.com/apache/dubbo-go/pull/121) - * [k8s](https://github.com/apache/dubbo-go/pull/400) - -- Dynamic Configure Center & Service Management Configurator - * Zookeeper - * [apollo](https://github.com/apache/dubbo-go/pull/250) - * [nacos](https://github.com/apache/dubbo-go/pull/357) - -- Cluster Strategy - * 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) - -- Load Balance - * 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) - -- Filter - * Echo Health Check - * [Circuit break and service downgrade](https://github.com/apache/dubbo-go/pull/133) - * [TokenFilter](https://github.com/apache/dubbo-go/pull/202) - * [AccessLogFilter](https://github.com/apache/dubbo-go/pull/214) - * [TpsLimitFilter](https://github.com/apache/dubbo-go/pull/237) - * [ExecuteLimitFilter](https://github.com/apache/dubbo-go/pull/246) - * [GenericServiceFilter](https://github.com/apache/dubbo-go/pull/291) - * [Auth/Sign](https://github.com/apache/dubbo-go/pull/323) - * [Metrics filter](https://github.com/apache/dubbo-go/pull/342) - * [Tracing filter](https://github.com/apache/dubbo-go/pull/335) - -- Invoke - * [generic invoke](https://github.com/apache/dubbo-go/pull/122) - -- Monitor - * Opentracing API - * [Prometheus](https://github.com/apache/dubbo-go/pull/342) - -- Tracing - * [For jsonrpc](https://github.com/apache/dubbo-go/pull/335) - * [For dubbo](https://github.com/apache/dubbo-go/pull/344) - * [For grpc](https://github.com/apache/dubbo-go/pull/397) - -- Metadata Center - * [Nacos(Local)](https://github.com/apache/dubbo-go/pull/522) - * [Zookeeper(Local)](https://github.com/apache/dubbo-go/pull/633) - * [Etcd(Local)](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/metadata/report/etcd/report.go) - * [Consul(Local)](https://github.com/apache/dubbo-go/pull/633) - * [Zookeeper(Remoting)](https://github.com/apache/dubbo-go/pull/1161) - -- Tool - * [Dubbo-go-cli](https://github.com/apache/dubbo-go/pull/818) - -You can know more about dubbo-go by its [roadmap](https://github.com/apache/dubbo-go/wiki/Roadmap). - - - -## Document - -[dubbo-doc](http://dubbo.apache.org/zh/blog/) or [dubbo-go-doc-list](http://alexstocks.github.io/html/dubbogo.html) - -## Quick Start - -[dubbo-go-samples](https://github.com/apache/dubbo-go-samples) gives many examples to tell u how to use dubbo-go. Please read the [dubbo-samples/golang/README.md](https://github.com/apache/dubbo-go-samples/blob/master/README.md) carefully to learn how to dispose the configuration and compile the program. - -## Running unit tests - -### Run - -```bash -make verify ``` - -### Verify license - -```bash -make license +go get dubbo.apache.org/dubbo-go/v3 ``` -### Run unit test - -```bash -make test -``` +### Next steps -## Build - -Please move to [dubbo-samples/golang](https://github.com/dubbogo/dubbo-samples) +- [Dubbo-go Samples](https://github.com/apache/dubbo-go-samples): The project gives a series of samples that show each feature available for Dubbo-go and help you know how to integrate Dubbo-go with your system. +- Dubbo-go Quick Start: [涓枃 馃嚚馃嚦](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart.html), [English 馃嚭馃嚫](https://dubbogo.github.io/en-us/docs/user/quick-start.html) +- [Dubbo-go Benchmark](https://github.com/dubbogo/dubbo-go-benchmark) +- [Dubbo-go Wiki](https://github.com/apache/dubbo-go/wiki) ## Contributing -If you are willing to do some code contributions and document contributions to [Apache/dubbo-go](https://github.com/apache/dubbo-go), please visit [contribution intro](https://github.com/apache/dubbo-go/blob/master/contributing.md). +Please visit [CONTRIBUTING](./CONTRIBUTING.md) for details on submitting patches and the contribution workflow. -## Community +## Reporting bugs -If u want to communicate with our community, pls scan the following dubbobo DingDing QR code or search our commnity DingDing group code 31363295. +Please use the [bug report template](issues/new?template=bug-report.md) to report bugs, use the [enhancement template](issues/new?template=enhancement.md) to provide suggestions for improvement. -<div> -<table> - <tbody> - <tr></tr> - <tr> - <td align="center" valign="middle"> - <a href="http://alexstocks.github.io/html/dubbogo.html" target="_blank"> - <img width="80px" height="85px" src="./doc/pic/misc/dubbogo-dingding.png"> - </a> - </td> - </tr> - <tr></tr> - </tbody> -</table> -</div> +## Contact -If u want to visit the wechat group, pls add my wechat AlexanderStocks or scan the following wechat picture. - -<div> -<table> - <tbody> - <tr></tr> - <tr> - <td align="center" valign="middle"> - <img width="80px" height="115px" src="./doc/pic/misc/dubbogo-wechat.png"> - </a> - </td> - </tr> - <tr></tr> - </tbody> -</table> -</div> - -We welcome the friends who can give us constructing suggestions instead of known-nothing. - -## Benchmark - -Benchmark project [dubbo-go-benchmark](https://github.com/dubbogo/dubbo-go-benchmark). - -About dubbo-go benchmarking report, please refer to [dubbo benchmarking report](https://github.com/apache/dubbo-go/wiki/Benchmark-test-of-dubbo) & [jsonrpc benchmarking report](https://github.com/apache/dubbo-go/wiki/Benchmark-test-of-jsonrpc). +- [DingTalk Group](https://www.dingtalk.com/en): 23331795 ## [User List](https://github.com/apache/dubbo-go/issues/2) -If you are using [apache/dubbo-go](https://github.com/apache/dubbo-go) and think that it helps you or want do some contributions to it, please add your company to to [the user list](https://github.com/apache/dubbo-go/issues/2) to let us know your needs. +If you are using [apache/dubbo-go](https://github.com/apache/dubbo-go) and think that it helps you or want to contribute code for Dubbo-go, please add your company to [the user list](https://github.com/apache/dubbo-go/issues/2) to let us know your needs. <div> @@ -314,5 +157,8 @@ If you are using [apache/dubbo-go](https://github.com/apache/dubbo-go) and think </table> </div> -[MORE USER CASE](https://github.com/apache/dubbo-go/issues/2) +[See more user cases](https://github.com/apache/dubbo-go/issues/2) + +## License +Apache Dubbo-go software is licenced under the Apache License Version 2.0. See the LICENSE file for details. diff --git a/README_CN.md b/README_CN.md index 559e3399d..2f7963f20 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,4 +1,4 @@ -# Apache Dubbo-go [English](./README.md) # +# Apache Dubbo-go [](https://travis-ci.org/apache/dubbo-go) [](https://codecov.io/gh/apache/dubbo-go) @@ -8,220 +8,64 @@ --- -Apache Dubbo Go 璇█瀹炵幇锛屾灦璧穓ava鍜実o涔嬮棿鐨勬ˉ姊侊紝涓� gRPC/Spring Cloud 鐢熸€佷簰鑱斾簰閫氾紝甯﹂Java鐢熸€佷韩鍙椾簯鍘熺敓鏃朵唬鐨勬妧鏈孩鍒┿€� +[English 馃嚭馃嚫](./README.md) -## 璇佷功 ## +Apache Dubbo Go 璇█瀹炵幇锛屾灦璧� Java 鍜� Golang 涔嬮棿鐨勬ˉ姊侊紝涓� gRPC/Spring Cloud 鐢熸€佷簰鑱斾簰閫氾紝甯﹂ Java 鐢熸€佷韩鍙椾簯鍘熺敓鏃朵唬鐨勬妧鏈孩鍒┿€傝璁块棶鎴戜滑鐨刐瀹樻柟缃戠珯](https://dubbogo.github.io)鏌ョ湅蹇€熷紑濮嬪拰鏂囨。銆� -Apache License, Version 2.0 +## 鏋舵瀯 -## 鍙戝竷鏃ュ織 ## + -[v1.5.6 - 2021骞�4鏈�8鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.6) +Dubbo-go宸茬粡瀹炵幇浜咲ubbo鐨勫ぇ閮ㄥ垎灞傜骇锛屽寘鎷崗璁眰锛坧rotocol layer锛夈€佹敞鍐屽眰锛坮egistry layer)锛夌瓑绛夈€傚湪Dubbo-go涓娇鐢ㄤ簡鎷撳睍妯″潡锛坋xtension module锛変互瀹炵幇鏇寸伒娲荤殑绯荤粺鏋舵瀯锛屽紑鍙戣€呭彲浠ユ牴鎹眰鎺ュ彛瀹炵幇涓€涓嚜瀹氫箟鐨勫眰锛屽苟鍦ㄤ笉鏀瑰姩婧愪唬鐮佺殑鍓嶆彁涓嬮€氳繃`extension.Set`鏂规硶灏嗗畠搴旂敤鍒癉ubbo-go涓€� -[v1.5.5 - 2021骞�1鏈�5鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.5) +## 鐗规€� -[v1.4.5 - 2020骞�11鏈�18鏃(https://github.com/apache/dubbo-go/releases/tag/v1.4.5) +Dubbo-go涓凡瀹炵幇鐨勭壒鎬э細 -[v1.5.4 - 2020骞�11鏈�1鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.4) +- **瑙掕壊**: Consumer, Provider +- **浼犺緭鍗忚**: HTTP, TCP +- **搴忓垪鍖栧崗璁�**: JsonRPC V2, Hessian V2, [Json for gRPC](https://github.com/apache/dubbo-go/pull/582), Protocol Buffers +- **鍗忚**: Dubbo, [Triple](https://github.com/dubbogo/triple), JsonRPC V2, [gRPC](https://github.com/apache/dubbo-go/pull/311), [RESTful](https://github.com/apache/dubbo-go/pull/352) +- **璺敱鍣�**: [Dubbo3 Router](https://github.com/apache/dubbo-go/pull/1187) +- **娉ㄥ唽涓績**: ZooKeeper, [etcd](https://github.com/apache/dubbo-go/pull/148), [Nacos](https://github.com/apache/dubbo-go/pull/151), [Consul](https://github.com/apache/dubbo-go/pull/121), [K8s](https://github.com/apache/dubbo-go/pull/400) +- **鍔ㄦ€侀厤缃腑蹇冧笌鏈嶅姟娌荤悊閰嶇疆鍣�**: Zookeeper, [Apollo](https://github.com/apache/dubbo-go/pull/250), [Nacos](https://github.com/apache/dubbo-go/pull/357) +- **闆嗙兢绛栫暐**: 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) +- **璐熻浇鍧囪 绛栫暐**: 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) +- **杩囨护鍣�**: Echo Health Check, [Circuit Break and Service Downgrade](https://github.com/apache/dubbo-go/pull/133), [TokenFilter](https://github.com/apache/dubbo-go/pull/202), [AccessLogFilter](https://github.com/apache/dubbo-go/pull/214), [TpsLimitFilter](https://github.com/apache/dubbo-go/pull/237), [ExecuteLimitFilter](https://github.com/apache/dubbo-go/pull/246), [GenericServiceFilter](https://github.com/apache/dubbo-go/pull/291), [Auth/Sign](https://github.com/apache/dubbo-go/pull/323), [MetricsFilter](https://github.com/apache/dubbo-go/pull/342), [TracingFilter](https://github.com/apache/dubbo-go/pull/335) +- **璋冪敤**: [Generic Invoke](https://github.com/apache/dubbo-go/pull/122) +- **鐩戞帶**: Opentracing API, [Prometheus](https://github.com/apache/dubbo-go/pull/342) +- **Tracing**: [For JsonRPC](https://github.com/apache/dubbo-go/pull/335), [For Dubbo](https://github.com/apache/dubbo-go/pull/344), [For gRPC](https://github.com/apache/dubbo-go/pull/397) +- **鍏冩暟鎹腑蹇�**: [Nacos(Local)](https://github.com/apache/dubbo-go/pull/522), [ZooKeeper(Local)](https://github.com/apache/dubbo-go/pull/633), [etcd(Local)](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/metadata/report/etcd/report.go), [Consul(Local)](https://github.com/apache/dubbo-go/pull/633), [ZooKeeper(Remoting)](https://github.com/apache/dubbo-go/pull/1161) +- **宸ュ叿**: [Dubbo-go-cli](https://github.com/apache/dubbo-go/pull/818) -[v1.5.3 - 2020骞�9鏈�23鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.3) +## 寮€濮� -[v1.5.1 - 2020骞�8鏈�23鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.1) +### 瀹夎 Dubbo-go v3 -[v1.5.0 - 2020骞�7鏈�24鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.0) - -[v1.4.0 - 2020骞�3鏈�17鏃(https://github.com/apache/dubbo-go/releases/tag/v1.4.0) - -[v1.3.0 - 2020骞�3鏈�1鏃(https://github.com/apache/dubbo-go/releases/tag/v1.3.0) - -[v1.2.0 - 2019骞�11鏈�15鏃(https://github.com/apache/dubbo-go/releases/tag/v1.2.0) - -[v1.1.0 - 2019骞�9鏈�7鏃� 鎹愮尞缁橝pache涔嬪悗鐨勭涓€娆elease](https://github.com/apache/dubbo-go/releases/tag/v1.1.0) - -[v1.0.0 - 2019骞�5鏈�29鏃� 鍏煎dubbo v2.6.5 鐗堟湰](https://github.com/apache/dubbo-go/releases/tag/v1.0.0) - -## 宸ョ▼鏋舵瀯 ## - -鍩轰簬dubbo鐨別xtension妯″潡鍜屽垎灞傜殑浠g爜璁捐(鍖呮嫭 protocol layer, registry layer, cluster layer, config 绛夌瓑)銆傛垜浠殑鐩爣鏄細浣犲彲浠ュ杩欎簺鍒嗗眰鎺ュ彛杩涜鏂扮殑瀹炵幇锛屽苟閫氳繃璋冪敤 extension 妯″潡鐨勨€� extension.SetXXX 鈥濇柟娉曟潵瑕嗙洊 dubbo-go [鍚� go-for-apache-dubbo ]鐨勯粯璁ゅ疄鐜帮紝浠ュ畬鎴愯嚜宸辩殑鐗规畩闇€姹傝€屾棤闇€淇敼婧愪唬鐮併€傚悓鏃讹紝娆㈣繋浣犱负绀惧尯璐$尞鏈夌敤鐨勬嫇灞曞疄鐜般€� - - - -鍏充簬璇︾粏璁捐璇烽槄璇� [code layered design](https://github.com/apache/dubbo-go/wiki/dubbo-go-V1.0-design) - -## 鍔熻兘鍒楄〃 ## - -瀹炵幇鍒楄〃: - -- 瑙掕壊绔� - * Consumer - * Provider - -- 浼犺緭鍗忚 - * HTTP - * TCP - -- 搴忓垪鍖栧崗璁� - * JsonRPC V2 - * Hessian V2 - * [json for grpc](https://github.com/apache/dubbo-go/pull/582) - * protobuf - -- 鍗忚 - * Dubbo - * [Triple](https://github.com/dubbogo/triple) - * Jsonrpc2.0 - * [gRPC](https://github.com/apache/dubbo-go/pull/311) - * [RESTful](https://github.com/apache/dubbo-go/pull/352) - -- 璺敱鍣� - * [Dubbo3缁熶竴璺敱瑙勫垯](https://github.com/apache/dubbo-go/pull/1187) - -- 娉ㄥ唽涓績 - * ZooKeeper - * [etcd v3](https://github.com/apache/dubbo-go/pull/148) - * [nacos](https://github.com/apache/dubbo-go/pull/151) - * [consul](https://github.com/apache/dubbo-go/pull/121) - * [k8s](https://github.com/apache/dubbo-go/pull/400) - -- 鍔ㄦ€侀厤缃腑蹇冧笌鏈嶅姟娌荤悊閰嶇疆鍣� - * Zookeeper - * [apollo](https://github.com/apache/dubbo-go/pull/250) - * [nacos](https://github.com/apache/dubbo-go/pull/357) - -- 闆嗙兢绛栫暐 - * 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) - -- 璐熻浇鍧囪 绛栫暐 - * 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) - -- 杩囨护鍣� - * Echo Health Check - * [鏈嶅姟鐔旀柇&闄嶇骇](https://github.com/apache/dubbo-go/pull/133) - * [TokenFilter](https://github.com/apache/dubbo-go/pull/202) - * [AccessLogFilter](https://github.com/apache/dubbo-go/pull/214) - * [TpsLimitFilter](https://github.com/apache/dubbo-go/pull/237) - * [ExecuteLimitFilter](https://github.com/apache/dubbo-go/pull/246) - * [GenericServiceFilter](https://github.com/apache/dubbo-go/pull/291) - * [Auth/Sign](https://github.com/apache/dubbo-go/pull/323) - * [Metrics filter](https://github.com/apache/dubbo-go/pull/342) - * [Tracing filter](https://github.com/apache/dubbo-go/pull/335) - -- 璋冪敤 - * [娉涘寲璋冪敤](https://github.com/apache/dubbo-go/pull/122) - -- 鐩戞帶 - * Opentracing API - * [Prometheus](https://github.com/apache/dubbo-go/pull/342) - -- Tracing - * [For jsonrpc](https://github.com/apache/dubbo-go/pull/335) - * [For dubbo](https://github.com/apache/dubbo-go/pull/344) - * [For grpc](https://github.com/apache/dubbo-go/pull/397) - -- 鍏冩暟鎹腑蹇� - * [Nacos(Local)](https://github.com/apache/dubbo-go/pull/522) - * [Zookeeper(Local)](https://github.com/apache/dubbo-go/pull/633) - * [Etcd(Local)](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/metadata/report/etcd/report.go) - * [Consul(Local)](https://github.com/apache/dubbo-go/pull/633) - * [Zookeeper(Remoting)](https://github.com/apache/dubbo-go/pull/1161) - -- 宸ュ叿绠� - * [Dubbo-go-cli](https://github.com/apache/dubbo-go/pull/818) - -浣犲彲浠ラ€氳繃璁块棶 [roadmap](https://github.com/apache/dubbo-go/wiki/Roadmap) 鐭ラ亾鏇村鍏充簬 dubbo-go 鐨勪俊鎭€� - - - -## 鏂囨。 - -璇疯闂� [dubbo瀹樻柟鏂囨。涓叧浜� dubbo-go 鐨勭郴鍒楁枃妗(http://dubbo.apache.org/zh/blog/) 鎴� [杩囧線dubbo-go鏂囨。鍒楄〃](http://alexstocks.github.io/html/dubbogo.html)銆� - -## 蹇€熷紑濮� ## - -[dubbo-samples/golang](https://github.com/apache/dubbo-go-samples)杩欎釜椤圭洰鐨勪簨渚嬪睍绀轰簡濡備綍浣跨敤 dubbo-go 銆傝浠旂粏闃呰 [dubbo-samples/golang/README.md](https://github.com/apache/dubbo-go-samples/blob/master/README.md) 瀛︿範濡備綍澶勭悊閰嶇疆骞剁紪璇戠▼搴忋€� - -## 杩愯鍗曟祴 - -### 鎵ц鍏ㄩ儴鏍¢獙 - -```bash -make verify -``` - -### 鏍¢獙璁稿彲璇� - -```bash -make license ``` - -### 鎵ц鍗曞厓娴嬭瘯 - -```bash -make test +go get dubbo.apache.org/dubbo-go/v3 ``` -## 缂栬瘧 +### 涓嬩竴姝� -璇风Щ姝� [dubbo-go-samples](https://github.com/apache/dubbo-go-samples) +- [Dubbo-go 鏍蜂緥](https://github.com/apache/dubbo-go-samples): 璇ラ」鐩彁渚涗簡涓€绯诲垪鐨勬牱渚嬶紝浠ュ睍绀篋ubbo-go鐨勬瘡涓€椤圭壒鎬т互鍙婂府鍔╀綘灏咲ubbo-go闆嗘垚鍒颁綘鐨勭郴缁熶腑銆� +- Dubbo-go 蹇€熷紑濮�: [涓枃 馃嚚馃嚦](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart.html), [English 馃嚭馃嚫](https://dubbogo.github.io/en-us/docs/user/quick-start.html) +- [Dubbo-go 鍩哄噯娴嬭瘯](https://github.com/dubbogo/dubbo-go-benchmark) +- [Dubbo-go 鐧剧](https://github.com/apache/dubbo-go/wiki) ## 濡備綍璐$尞 -濡傛灉鎮ㄦ効鎰忕粰 [Apache/dubbo-go](https://github.com/apache/dubbo-go) 璐$尞浠g爜鎴栬€呮枃妗o紝鎴戜滑閮界儹鐑堟杩庛€傚叿浣撹鍙傝€� [contribution intro](https://github.com/apache/dubbo-go/blob/master/contributing.md)銆� - -## 绀惧尯 - -濡傛灉鎯宠闂畼鏂归拤閽夌兢锛岃鍦ㄩ拤閽変腑鎼滅储绀惧尯缇ゅ彿 31363295 鎴栬€� 鎵弿濡備笅[浜岀淮鐮乚(https://mmbiz.qpic.cn/mmbiz_jpg/yvBJb5IiafvnHVBdtia30dxA2hKotr9DEckWsZ7aOJcDWDaSVMGwLmYv8GRgIQtqb4C2svicp8nVkMmGy7yKC5tyA/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)銆� - -<div> -<table> - <tbody> - <tr></tr> - <tr> - <td align="center" valign="middle"> - <a href="http://alexstocks.github.io/html/dubbogo.html" target="_blank"> - <img width="80px" height="85px" src="./doc/pic/misc/dubbogo-dingding.png"> - </a> - </td> - </tr> - <tr></tr> - </tbody> -</table> -</div> - -dubbogo 绀惧尯宸茬粡寮€閫氬井淇″叕浼楀彿锛屽彲鍦ㄥ井淇℃悳绱� "dubbogo绀哄湡鍖�" 鎴栬€呮壂鎻忓涓嬩簩缁寸爜鍏虫敞锛屽彲閫氳繃鍏紬鍙风淇$暀瑷€鍔犲叆 dubbogo 寰俊绀惧尯銆� - -<div> -<table> - <tbody> - <tr></tr> - <tr> - <td align="center" valign="middle"> - <img width="80px" height="115px" src="./doc/pic/misc/dubbogo-wechat.png"> - </a> - </td> - </tr> - <tr></tr> - </tbody> -</table> -</div> +璇疯闂甗CONTRIBUTING](./CONTRIBUTING.md)鏉ヤ簡瑙e浣曟彁浜ゆ洿鏂颁互鍙婅础鐚伐浣滄祦銆� -浣滀负涓€涓淮鎶ゅ凡缁忓府鍔╂瀯寤轰簡缁忓彈澶氬澶у瀷寰湇鍔$郴缁熺殑绀惧尯锛屾垜浠冻浠ヤ负鐜版湁鐨勬垚缁╂劅鍒拌嚜璞€傜ぞ鍖烘杩庤兘鎻愬嚭寤鸿鎬ф剰瑙佽€咃紝鍙煡绱㈠彇鑰呭拰鍠峰瓙璇风粫琛屻€� +## 鎶ュ憡闂 -## 鎬ц兘娴嬭瘯 ## +璇蜂娇鐢╗bug report 妯℃澘](issues/new?template=bug-report.md)鎶ュ憡閿欒锛屼娇鐢╗enhancement 妯$増](issues/new?template=enhancement.md)鎻愪氦鏀硅繘寤鸿銆� -鎬ц兘娴嬭瘯椤圭洰鏄� [dubbo-go-benchmark](https://github.com/dubbogo/dubbo-go-benchmark)銆� +## 鑱旂郴 -鍏充簬 dubbo-go 鎬ц兘娴嬭瘯鎶ュ憡锛岃闃呰 [dubbo benchmarking report](https://github.com/apache/dubbo-go/wiki/Benchmark-test-of-dubbo) & [jsonrpc benchmarking report](https://github.com/apache/dubbo-go/wiki/Benchmark-test-of-jsonrpc)銆� +- [閽夐拤缇(https://www.dingtalk.com/): 23331795 -## [User List](https://github.com/apache/dubbo-go/issues/2) +## [鐢ㄦ埛鍒楄〃](https://github.com/apache/dubbo-go/issues/2) 鑻ヤ綘姝e湪浣跨敤 [apache/dubbo-go](https://github.com/apache/dubbo-go) 涓旇涓哄叾鏈夌敤鎴栬€呮兂瀵瑰叾鍋氭敼杩涳紝璇锋坊鍒楄吹鍙镐俊鎭簬 [鐢ㄦ埛鍒楄〃](https://github.com/apache/dubbo-go/issues/2)锛屼互渚挎垜浠煡鏅撱€� @@ -312,5 +156,8 @@ dubbogo 绀惧尯宸茬粡寮€閫氬井淇″叕浼楀彿锛屽彲鍦ㄥ井淇℃悳绱� "dubbogo绀哄湡鍖� </table> </div> -[鏇村鐢ㄦ埛绀轰緥](https://github.com/apache/dubbo-go/issues/2) +[鏌ョ湅鏇村鐢ㄦ埛绀轰緥](https://github.com/apache/dubbo-go/issues/2) + +## 璁稿彲璇� +Apache Dubbo-go浣跨敤Apache璁稿彲璇�2.0鐗堟湰锛岃鍙傞槄LICENSE鏂囦欢浜嗚В鏇村銆� -- GitLab