Add  Affinity Router (#14787)

* add affinity router

* fix complie error

* remove comments

* format code
11 files changed
tree: c989430c3a1e52b600ad6b3b5250a86b2eedff33
  1. .github/
  2. .mvn/
  3. codestyle/
  4. dubbo-cluster/
  5. dubbo-common/
  6. dubbo-compatible/
  7. dubbo-config/
  8. dubbo-configcenter/
  9. dubbo-demo/
  10. dubbo-dependencies-bom/
  11. dubbo-distribution/
  12. dubbo-maven-plugin/
  13. dubbo-metadata/
  14. dubbo-metrics/
  15. dubbo-plugin/
  16. dubbo-registry/
  17. dubbo-remoting/
  18. dubbo-rpc/
  19. dubbo-serialization/
  20. dubbo-spring-boot-project/
  21. dubbo-test/
  22. .artifacts
  23. .asf.yaml
  24. .editorconfig
  25. .gitattributes
  26. .gitignore
  27. .licenserc.yaml
  28. build
  29. build.cmd
  30. CHANGES.md
  31. CODE_OF_CONDUCT.md
  32. codecov.yml
  33. CONTRIBUTING.md
  34. Jenkinsfile
  35. Jenkinsfile.sonar
  36. LICENSE
  37. licenseCheck.sh
  38. mvnw
  39. mvnw.cmd
  40. NOTICE
  41. pom.xml
  42. README.md
  43. SECURITY.md
README.md

Apache Dubbo Project

Build and Test For PR Codecov Maven License Average time to resolve an issue Percentage of issues still open

Apache Dubbo is a powerful and user-friendly Web and RPC framework. It supports multiple language implementations such as Java, Go, Python, PHP, Erlang, Rust, and Node.js/Web.

Dubbo provides solutions for communication, service discovery, traffic management, observability, security, tooling, and best practices for building enterprise-grade microservices.

🚀 We're collecting user info to improve Dubbo. Help us out here: Who's using Dubbo


🧱 Architecture

Architecture

  • Communication between consumers and providers is done via RPC protocols like Triple, TCP, REST, etc.
  • Consumers dynamically discover provider instances from registries (e.g., Zookeeper, Nacos) and manage traffic using defined strategies.
  • Built-in support for dynamic config, metrics, tracing, security, and a visualized console.

🚀 Getting Started

📦 Lightweight RPC API

Start quickly with our 5-minute guide

Dubbo allows you to build RPC services using a minimal codebase and a lightweight SDK. It supports protocols like:

🌱 Microservices with Spring Boot

Kickstart your project using Spring Boot Starter.

Using just a dependency and a YAML config, you can unlock the full power of Dubbo: service discovery, observability, tracing, etc.

➡️ Learn how to deploy, monitor, and manage traffic for Dubbo services.


🛠️ More Features

Explore more through our hands-on tasks:


📦 Which Dubbo Version Should I Use?

Dubbo3

📦 Version Compatibility

VersionJDK SupportDependenciesHighlights
3.3.21.8 – 21View Dependencies✅ Actively Maintained
✅ Triple Protocol (gRPC/cURL)
✅ REST Support
✅ Spring Boot Starters
3.2.161.8 – 17View Dependencies✅ Actively Maintained
✅ Metrics & Tracing
✅ Thread Pool Isolation
✅ +30% Performance
✅ Native Image Support
3.1.111.8 – 17View Dependencies⚠️ Stable, but Not Actively Maintained

Dubbo2

VersionJDKDependenciesDescription
2.7.231.8dependency list❌ EOL
2.6.x, 2.5.x1.6 - 1.7dependency list❌ EOL

🤝 Contributing

See our CONTRIBUTING guide to get started!

🔁 Community Collaboration

💡 How You Can Help

If you're interested in contributing, email us at dev@dubbo.apache.org.


🐞 Reporting Issues

Please use our issue template when reporting bugs.


🔐 Reporting Security Vulnerabilities

Please report vulnerabilities privately to security@dubbo.apache.org.


📬 Contact


📄 License

Apache Dubbo is licensed under the Apache License 2.0.