This is an automated email from the ASF dual-hosted git repository. alexstocks pushed a commit to branch feature-readme in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
commit 2d10fa3ecd1a4ab94e5c2b9ad63bd381caa729ca Author: alexstocks <[email protected]> AuthorDate: Sat Dec 27 18:41:27 2025 +0800 update readme --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- README_CN.md | 48 +++++++++++++++++++++++++++++++++++------------- 2 files changed, 79 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 0865b70c5..c92471170 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Apache Dubbo for Golang -[](https://travis-ci.org/apache/dubbo-go) +[](https://github.com/apache/dubbo-go/actions) [](https://pkg.go.dev/github.com/apache/dubbo-go/v3?tab=doc) [](https://goreportcard.com/report/github.com/apache/dubbo-go)  @@ -9,12 +9,36 @@ English | [中文](README_CN.md) -Dubbo-go is a high-performance RPC framework for Go language microservices, covering various network protocols: Triple, Dubbo, JSONRPC, gRPC, HTTP, HTTP2, etc. It is the ideal choice for writing microservices in Go. +Apache Dubbo-go is a high-performance RPC and microservice framework compatible with other Dubbo language implementations. It leverages Golang's concurrency features to provide efficient service governance, including service discovery, load balancing, and traffic management. Dubbo-go supports multiple protocols, such as Dubbo, JSONRPC, Triple (gRPC-compatible), gRPC, HTTP, HTTP2, and HTTP/3 (experimental), ensuring seamless integration in heterogeneous environments. You can visit [the official website](https://dubbo.apache.org/) for more information. +## Recent Updates + +For detailed changes, refer to CHANGELOG.md. + +- **3.3.1**: Optimized configuration hot-reloading with content-based caching to prevent redundant notifications. Added experimental HTTP/3 support, Apollo integration, and Triple protocol OpenAPI generation. Fixed critical race conditions in service discovery under high-concurrency. + +- **3.3.0**: Introduced script routing, multi-destination conditional routing, Triple protocol keepalive and connection pooling, Nacos multi-category subscriptions, and enhancements for observability and interoperability. + ## Getting started +### Prerequisites + +- Go 1.24 or later (recommended for compatibility with recent updates). + +### Installation + +To install Dubbo-go, use the following command: + +Bash + +``` +go get dubbo.apache.org/dubbo-go/v3@latest +``` + +### Quick Example + You can learn how to develop a dubbo-go RPC application step by step in 5 minutes by following our [Quick Start](https://github.com/apache/dubbo-go-samples/tree/main/helloworld) demo. It's as simple as the code shown below, you define a service with Protobuf, provide your own service implementation, register it to a server, and start the server. @@ -72,13 +96,16 @@ See the [samples](https://github.com/apache/dubbo-go-samples) for detailed infor  +Dubbo-go provides robust service governance capabilities: + - **RPC Protocols**: Triple, gRPC compatible and HTTP-friendly - **Service Discovery**: Nacos, Zookeeper, Etcd, Polaris-mesh, Consul. - **Load Balance**: Adaptive, Random, RoundRobin, LeastActive, ConsistentHash - **Traffic Management**: traffic split, timeout, rate limiting, canary release -- **Configuration**: yaml file, dynamic configuration(Nacos, Zookeeper, etc.). -- **Observability**: metrics(Prometheus, Grafana) and tracing(Jaeger, Zipkin). -- **HA Strategy**: Failover, Failfast, Failsafe/Failback, Available, Broadcast, Forking +- **Configuration**: yaml file, dynamic configuration(Nacos, Apollo, Zookeeper, etc.). +- **Observability**: Metrics (Prometheus), tracing (OpenTelemetry v1.21.0+ with insecure options and standardized span names), logging (with service registration lifecycle events). +- **HA Strategy**: Failover, Failfast, Failsafe/Failback, Available, Broadcast, Forking. +- **Interoperability**: Full compatibility with Apache Dubbo (Java) via Triple protocol generic calls, group/version wildcard matching, and TLS API redesign. ## ️ Tools @@ -143,9 +170,18 @@ For usage details, see the [imports-formatter README](https://github.com/dubbogo - [Protoc-gen-go-triple](https://github.com/dubbogo/protoc-gen-go-triple/) - [Console](https://github.com/apache/dubbo-kubernetes), under development -## Contributing +## Documentation + +- Official Website: https://dubbo.apache.org/ +- Dubbo-go Documentation: https://dubbo.apache.org/docs/dubbo-go/ +- CHANGELOG: https://github.com/apache/dubbo-go/blob/main/CHANGELOG.md + +## Community + +- GitHub Issues: https://github.com/apache/dubbo-go/issues +- Mailing Lists: https://dubbo.apache.org/en/community/ -Please visit [CONTRIBUTING](./CONTRIBUTING.md) for details on submitting patches and the contribution workflow. +Contributions, issues, and discussions are welcome. Please visit [CONTRIBUTING](./CONTRIBUTING.md) for details on submitting patches and the contribution workflow. ## Contact @@ -284,4 +320,4 @@ If you are using [apache/dubbo-go](https://github.com/apache/dubbo-go) and think ## License -Apache Dubbo-go software is licensed under the Apache License Version 2.0. See the [LICENSE](./LICENSE) file for details. +Apache Dubbo-go software is licensed under the Apache License Version 2.0. See the [LICENSE](./LICENSE) file for details. \ No newline at end of file diff --git a/README_CN.md b/README_CN.md index a1fbfd2aa..384702b04 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,6 +1,6 @@ # Apache Dubbo for Golang -[](https://travis-ci.org/apache/dubbo-go) +[](https://github.com/apache/dubbo-go/actions) [](https://pkg.go.dev/github.com/apache/dubbo-go/v3?tab=doc) [](https://goreportcard.com/report/github.com/apache/dubbo-go)  @@ -9,13 +9,30 @@ [English](README.md) | 中文 -Dubbo-go 是一款高性能 Go 语言微服务 RPC 框架,生态覆盖多种网络协议:Triple、Dubbo、JSONRPC、gRPC、HTTP、HTTP2等,是编写 go 语言微服务的不二之选。 +**Apache Dubbo-go** 是一款高性能、功能丰富的微服务框架。作为 Apache Dubbo 生态的 Go 语言实现,它充分利用 Golang 的并发特性,助力开发者在云原生时代构建扩展性强、可靠性高的分布式应用。 -您可以访问[官网](https://dubbo.apache.org/)以获取更多信息。 +在全新的 **v3.3.x** 系列版本中,Dubbo-go 已从传统的 RPC 框架演进为**云原生智能微服务治理平台**,引入了深度的 AI 集成与 Proxyless Mesh(无代理网格)能力。 + +您可以访问 [官网](https://dubbo.apache.org/) 以获取更多信息。 ## 快速开始 -您可以跟随我们的[快速开始](https://github.com/apache/dubbo-go-samples/tree/main/helloworld)示例,在 5 分钟内逐步学习如何开发一个 dubbo-go RPC 应用。 +### 环境准备 + +* Go 1.24 或更高版本(建议使用最新版本以获得最佳性能与兼容性)。 + +### 安装 + +使用以下命令安装 Dubbo-go: + +```bash +go get dubbo.apache.org/dubbo-go/v3@latest + +``` + +### 快速示例 + +通过我们的 [快速开始 (Helloworld)](https://github.com/apache/dubbo-go-samples/tree/main/helloworld) 示例,您可以在 5 分钟内掌握如何开发一个 RPC 应用。 过程如下方代码所示,非常简单:您使用 Protobuf 定义一个服务,提供您自己的服务实现,将其注册到服务器,然后启动服务器。 @@ -72,15 +89,16 @@ func main() {  -- **RPC 协议**: Triple 协议,兼容 gRPC 且对 HTTP 友好 -- **服务发现**: Nacos、Zookeeper、Etcd、Polaris-mesh、Consul -- **负载均衡**: 自适应、随机、轮询、最少活跃调用、一致性哈希 -- **流量管理**: 流量切分、超时设置、速率限制、金丝雀发布 -- **配置**: YAML 文件、动态配置(Nacos、Zookeeper 等) -- **可观测性**: 指标(Prometheus、Grafana)和追踪(Jaeger、Zipkin) -- **高可用策略**: 故障转移 (Failover)、快速失败 (Failfast)、失败安全/失败自动恢复 (Failsafe/Failback)、可用性优先 (Available)、广播 (Broadcast)、并行调用 (Forking) +* **RPC 协议**: Triple (兼容 gRPC 且对 HTTP 友好)、Dubbo、JSONRPC、HTTP/2、HTTP/3 (实验性)。 +* **服务发现**: Nacos、Zookeeper、Etcd、Polaris-mesh、Consul。 +* **负载均衡**: 自适应、随机、轮询、最少活跃调用、一致性哈希。 +* **流量管理**: 流量切分、超时设置、速率限制、金丝雀发布。 +* **配置管理**: YAML 文件、动态配置(Nacos、Apollo、Zookeeper 等),支持基于指纹去重的优化版文件监听。 +* **可观测性**: 指标(Prometheus)、追踪(OpenTelemetry v1.21.0+ 标准化 Span 名)、日志(完整的生命周期事件记录)。 +* **高可用策略**: 故障转移 (Failover)、快速失败 (Failfast)、失败安全/失败自动恢复 (Failsafe/Failback)、广播 (Broadcast)、并行调用 (Forking)。 +* **跨语言互通**: 通过 Triple 协议泛化调用、版本通配符匹配等技术,实现与 Java 版 Dubbo 的完美互通。 -## ️ 工具 +## ️ 工具生态 `tools/` 目录和 `dubbogo/tools` 仓库提供了一些实用工具,以简化您的 Dubbo-Go 开发体验。 @@ -141,7 +159,11 @@ func main() { - [Protoc-gen-go-triple](https://github.com/dubbogo/protoc-gen-go-triple/) - [控制台 (Console)](https://github.com/apache/dubbo-kubernetes),开发中 -## 贡献代码 +## 社区与文档 + +* **官方网站**: https://dubbo.apache.org/ +* **官方文档**: https://dubbo.apache.org/docs/dubbo-go/ +* **问题反馈**: [GitHub Issues](https://github.com/apache/dubbo-go/issues) 关于提交补丁和贡献流程的详细信息,请访问 [CONTRIBUTING](./CONTRIBUTING.md)。
