# apache/dubbo-spring-boot-project

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/apache-dubbo-spring-boot-project).**

5,389 stars · 1,854 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/apache/dubbo-spring-boot-project
- Homepage: https://dubbo.apache.org
- awesome-repositories: https://awesome-repositories.com/repository/apache-dubbo-spring-boot-project.md

## Topics

`dubbo`

## Description

This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring Boot applications. It serves as a microservice communication framework that enables the implementation of RPC services, service discovery, and distributed governance through automated configuration.

The project distinguishes itself by providing a cross-language RPC bridge, allowing services written in different languages to communicate via standards such as gRPC and Protobuf. It further enables the exposure of backend microservices as REST endpoints using the Triple protocol for direct access from web browsers and third-party clients.

The framework covers a broad range of capabilities, including distributed service governance for traffic routing and rate limiting, centralized configuration management, and microservice observability for request tracing and health monitoring. It also supports diverse transport layers and storage integrations for Redis and Memcached.

The project provides starters and configurations to automate the bootstrapping of RPC infrastructure within the Spring Boot environment.

## Tags

### Networking & Communication

- [Microservices Communications](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/application-interface-standards/microservices-communications.md) — Implements a comprehensive framework for orchestrating distributed systems through high-performance RPC and messaging patterns.
- [Remote Procedure Call Frameworks](https://awesome-repositories.com/f/networking-communication/remote-procedure-call-frameworks.md) — Provides a comprehensive framework for invoking methods on remote services as if they were local using gRPC and HTTP/2. ([source](https://dubbo.apache.org/en/overview/home/))
- [Cross-Language RPC Frameworks](https://awesome-repositories.com/f/networking-communication/cross-language-rpc-frameworks.md) — Provides a communication layer enabling interoperability between services written in different languages using IDL and Protobuf.
- [Cross-Language Service Communication](https://awesome-repositories.com/f/networking-communication/cross-language-service-communication.md) — Ensures cross-language compatibility between services using standards like gRPC and HTTP/2. ([source](https://dubbo.apache.org/en/overview/home/))
- [Registry-Based Service Discovery](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/service-discovery-mechanisms/registry-based-service-discovery.md) — Coordinates communication by syncing service addresses and metadata between providers and consumers via a central registry.
- [Multi-Protocol Endpoint Exposure](https://awesome-repositories.com/f/networking-communication/multi-protocol-endpoint-exposure.md) — Exposes services as REST endpoints via the Triple protocol for direct HTTP/1, HTTP/2, and HTTP/3 access. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))
- [Remote Procedure Calls](https://awesome-repositories.com/f/networking-communication/remote-procedure-calls.md) — Enables the execution of functions on remote servers as if they were local within a Spring Boot application.
- [RPC Frameworks](https://awesome-repositories.com/f/networking-communication/rpc-frameworks.md) — Provides a high-performance framework for executing remote procedures across network nodes using gRPC, Triple, and TCP.
- [Multi-Language RPC Services](https://awesome-repositories.com/f/networking-communication/rpc-frameworks/multi-language-rpc-services.md) — Supports implementing services in multiple languages using a shared RPC framework and IDLs like Protobuf. ([source](http://dubbo.apache.org/))
- [RPC Service Exports](https://awesome-repositories.com/f/networking-communication/rpc-service-exports.md) — Provides the ability to publish local service implementations as remote providers that other applications can call over a network. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/properties/))
- [Service Governance](https://awesome-repositories.com/f/networking-communication/service-governance.md) — Coordinates service discovery, registration, and load balancing to maintain stability in distributed microservices environments.
- [Request Timeout Management](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/request-timeout-management.md) — Establishes global default time limits for service calls to prevent resource exhaustion from hanging requests. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/spring/xml/))
- [High-Throughput RPC Scaling](https://awesome-repositories.com/f/networking-communication/high-throughput-rpc-scaling.md) — Optimizes RPC throughput using multiplexed TCP long connections and NIO asynchronous communication. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/dubbo/))
- [HTTP/3 Implementations](https://awesome-repositories.com/f/networking-communication/http-3-implementations.md) — Implements the HTTP/3 protocol over QUIC to reduce latency and prevent head-of-line blocking. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/triple-3.3/))
- [HTTP Client Integrations](https://awesome-repositories.com/f/networking-communication/http-client-integrations.md) — Provides standard HTTP encoding to allow web browsers and third-party HTTP clients to interact with services. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/others/v3.2_rest_protocol_design/))
- [Microservice Framework Interoperability](https://awesome-repositories.com/f/networking-communication/microservice-framework-interoperability.md) — Facilitates communication between different microservice frameworks to enable hybrid deployment and migration. ([source](https://dubbo.apache.org/en/blog/))
- [Multi-Protocol Service Publishing](https://awesome-repositories.com/f/networking-communication/multi-protocol-service-publishing.md) — Publishes the same service across different communication protocols simultaneously to support diverse client requirements. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/multi-protocols/))
- [Multi-Protocol Transport Layers](https://awesome-repositories.com/f/networking-communication/multi-protocol-transport-layers.md) — Supports simultaneous service exposure over TCP, HTTP/2, and gRPC to enable cross-language and browser interoperability.
- [RPC Interface Exposure](https://awesome-repositories.com/f/networking-communication/rpc-interfaces/rpc-interface-exposure.md) — Exposes local interfaces and their implementations as remote services available to other applications. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/quick-start/starter/))
- [Java-Specific](https://awesome-repositories.com/f/networking-communication/rpc-protocols/java-specific.md) — Uses a specialized protocol to handle remote procedure calls between services in a Java environment. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/))
- [Service Exposure](https://awesome-repositories.com/f/networking-communication/service-exposure.md) — Registers and exposes internal services over the network to make them accessible to remote clients. ([source](https://cdn.jsdelivr.net/gh/apache/dubbo-spring-boot-project@master/README.md))
- [Proxyless Integrations](https://awesome-repositories.com/f/networking-communication/service-meshes/proxyless-integrations.md) — Supports deploying data planes in proxy or proxyless modes for integration with external service mesh control planes. ([source](https://dubbo.apache.org/en/))
- [Traffic Interception](https://awesome-repositories.com/f/networking-communication/traffic-interception.md) — Monitors and modifies data flowing between services using custom filters and routers. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/))
- [Protocol-Based Routing Rules](https://awesome-repositories.com/f/networking-communication/traffic-routing/protocol-based-routing-rules.md) — Directs service calls to specific protocol versions based on keywords defined during service declaration. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/multi-protocols/))
- [Transmission Rate Regulation](https://awesome-repositories.com/f/networking-communication/transmission-rate-regulation.md) — Regulates the rate of data transmission to prevent receiving services from being overwhelmed. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/))
- [Weighted Network Routing](https://awesome-repositories.com/f/networking-communication/weighted-network-routing.md) — Directs requests based on conditions or weights to facilitate canary and grayscale deployments. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/))

### Software Engineering & Architecture

- [Spring Boot Integrations](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations.md) — Integrates Apache Dubbo RPC services within the Spring Boot application lifecycle via automated configuration. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/others/v3.2_rest_protocol_design/))
- [Application Component Lifecycles](https://awesome-repositories.com/f/software-engineering-architecture/component-lifecycle-management/application-component-lifecycles.md) — Provides a centralized startup entry point to initialize protocols, registries, and metrics for backend services. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/api/api/))
- [Dynamic Service Discovery](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-service-discovery.md) — Locates available service provider instances across a network using a centralized registry. ([source](https://dubbo.apache.org/en/overview/home/))
- [Automatic Service Registrations](https://awesome-repositories.com/f/software-engineering-architecture/external-service-integrations/automatic-service-registrations.md) — Automates the registration of service implementation classes with discovery tools to make them available to external consumers. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/principle/))
- [Interface Definition Languages](https://awesome-repositories.com/f/software-engineering-architecture/interface-definition-languages.md) — Uses interface definition languages to provide platform-neutral service contracts and data structures. ([source](https://dubbo.apache.org/en/))
- [RPC Framework Bootstrapping](https://awesome-repositories.com/f/software-engineering-architecture/rpc-framework-bootstrapping.md) — Provides starters and configurations to automate the integration and bootstrapping of RPC infrastructure within Spring Boot. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/spring/))
- [Service Discovery Registries](https://awesome-repositories.com/f/software-engineering-architecture/service-discovery-registries.md) — Maintains dynamic registries of service locations and health status to locate available providers in distributed environments.
- [Automatic Service Registrations](https://awesome-repositories.com/f/software-engineering-architecture/service-instance-managers/automatic-service-registrations.md) — Automatically broadcasts service network locations to a registry server so consumers can connect. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/quick-start/starter/))
- [Proxy-Based Remote Invocation](https://awesome-repositories.com/f/software-engineering-architecture/service-locators/remote-service-invocations/proxy-based-remote-invocation.md) — Injects remote service references into local applications to execute logic on different servers as if they were local calls. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/quick-start/starter/))
- [General Auto-Configuration Starters](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations/auto-configuration-mechanisms/ai-starter-configurations/general-auto-configuration-starters.md) — Provides Spring Boot starters to automatically bootstrap RPC infrastructure using application properties. ([source](https://cdn.jsdelivr.net/gh/apache/dubbo-spring-boot-project@master/README.md))
- [Annotation-Based Route Mapping](https://awesome-repositories.com/f/software-engineering-architecture/annotation-based-route-mapping.md) — Routes incoming HTTP requests to specific service methods using standard path and parameter annotations.
- [Transport Protocol Configuration](https://awesome-repositories.com/f/software-engineering-architecture/communication-protocols/transport-protocol-configuration.md) — Allows switching between transport protocols such as gRPC, HTTP/2, and TCP via configuration. ([source](https://dubbo.apache.org/en/))
- [Invocation Pipeline Extensions](https://awesome-repositories.com/f/software-engineering-architecture/core-logic-extensions/invocation-pipeline-extensions.md) — Customizes invocation and control logic through a plugin system for filters and routers. ([source](https://dubbo.apache.org/en/))
- [SPI-Based Extension Mechanisms](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins/runtime-interface-implementations/spi-based-extension-mechanisms.md) — Allows customization of routing, discovery, and protocols by loading external implementations through a service provider interface.
- [Pluggable Cluster Metadata Stores](https://awesome-repositories.com/f/software-engineering-architecture/pluggable-backends/metadata-store-backends/pluggable-cluster-metadata-stores.md) — Provides interchangeable backends for persisting cluster metadata to ensure consistent service discovery. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/))
- [Zookeeper Coordination](https://awesome-repositories.com/f/software-engineering-architecture/service-configuration-management/zookeeper-coordination.md) — Distributes application settings and traffic rules via Zookeeper to ensure synchronization across services. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config-center/zookeeper/))
- [Remote Service Invocations](https://awesome-repositories.com/f/software-engineering-architecture/service-locators/remote-service-invocations.md) — Enables transparent remote service invocation with integrated load balancing and asynchronous patterns. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/principle/))
- [Canary and Proportional Routing](https://awesome-repositories.com/f/software-engineering-architecture/traffic-flow-control/canary-and-proportional-routing.md) — Provides request flow routing rules to enable canary deployments and proportional traffic forwarding. ([source](http://dubbo.apache.org/))

### Data & Databases

- [Service Routing Metadata](https://awesome-repositories.com/f/data-databases/database-metadata-discovery/service-discovery/service-routing-metadata.md) — Syncs application addresses and interface definitions to enable precise routing in large clusters. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/metadata-center/overview/))

### DevOps & Infrastructure

- [Centralized Configuration Management](https://awesome-repositories.com/f/devops-infrastructure/centralized-configuration-management.md) — Provides centralized management of environment-specific settings and global defaults across a microservice platform. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config-center/))
- [Interface Metadata Registries](https://awesome-repositories.com/f/devops-infrastructure/service-discovery-and-configuration-platforms/interface-metadata-registries.md) — Publishes application configuration metadata to a centralized store to support remote discovery. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/metadata-center/nacos/))
- [API Gateways](https://awesome-repositories.com/f/devops-infrastructure/api-service-management/microservice-infrastructure/service-mesh-components/spring-cloud-implementations/api-gateways.md) — Routes external traffic to internal microservices through an API gateway entry point. ([source](https://dubbo.apache.org/en/blog/))
- [Declarative Remote Service Proxies](https://awesome-repositories.com/f/devops-infrastructure/backend-as-a-service-integrations/declarative-remote-service-proxies.md) — Generates remote service proxies from interfaces to inject remote logic into local applications. ([source](https://cdn.jsdelivr.net/gh/apache/dubbo-spring-boot-project@master/README.md))
- [Prioritized Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/environment-management/environment-variable-management/environment-variable-configurations/configuration-variable-overrides/prioritized-overrides.md) — Determines final application behavior by merging settings from JVM parameters, environment variables, and remote configuration centers.
- [Canary Deployment Controllers](https://awesome-repositories.com/f/devops-infrastructure/deployment-updates/canary-deployment-controllers.md) — Implements canary releases and proportional traffic forwarding using dynamic routing rules. ([source](https://dubbo.apache.org/en/))
- [Infrastructure Abstractions](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-abstractions.md) — Abstracts underlying infrastructure to support seamless operation across virtual machines, containers, and service meshes. ([source](https://dubbo.apache.org/en/))
- [Request Rate Limiting](https://awesome-repositories.com/f/devops-infrastructure/request-rate-limiting.md) — Integrates a flow control engine to manage request rates and protect system stability from traffic surges. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/spring/spring-boot/))

### Web Development

- [REST API Backends](https://awesome-repositories.com/f/web-development/rest-api-backends.md) — Exposes backend microservices as RESTful endpoints using HTTP/1, HTTP/2, or HTTP/3 without requiring a gateway. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/triple-3.3/))
- [REST API Implementations](https://awesome-repositories.com/f/web-development/rest-api-implementations.md) — Implements server-side RESTful endpoints to enable cross-language communication over HTTP. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/others/))
- [RESTful Services](https://awesome-repositories.com/f/web-development/restful-services.md) — Exposes microservices as RESTful services using HTTP/1 or HTTP/2 with JSON payloads. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/overview/))
- [HTTP Response Builders](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-utilities/http-response-builders.md) — Provides utilities to construct custom HTTP responses including status codes, headers, and redirects. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))
- [Service Action Exposure](https://awesome-repositories.com/f/web-development/crud-endpoint-exposure/service-action-exposure.md) — Maps internal service methods to external HTTP/1 and HTTP/2 endpoints for browser consumption. ([source](https://dubbo.apache.org/en/blog/))
- [Exception Handling](https://awesome-repositories.com/f/web-development/exception-handling.md) — Converts unhandled exceptions into formatted API error responses through global handlers and filters. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))
- [Request Mappings](https://awesome-repositories.com/f/web-development/request-mappings.md) — Declaratively maps incoming HTTP requests to specific service methods using MVC or custom resolvers. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))
- [Request Parameter Mapping](https://awesome-repositories.com/f/web-development/request-parameter-mapping.md) — Implements automatic binding of HTTP path variables and headers to service method arguments. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/))
- [Content Negotiation](https://awesome-repositories.com/f/web-development/response-formatting/content-negotiation.md) — Determines output formats like JSON, XML, and YAML based on request headers or extensions. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))

### Development Tools & Productivity

- [Configuration Aggregators](https://awesome-repositories.com/f/development-tools-productivity/configuration-aggregators.md) — Aggregates configuration from properties, environment variables, and APIs using a prioritized override system. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/principle/))
- [Environment Bootstrapping](https://awesome-repositories.com/f/development-tools-productivity/environment-bootstrapping.md) — Bootstraps infrastructure across virtual machines or Kubernetes using a unified governance system. ([source](http://dubbo.apache.org/))
- [External Configuration Integration](https://awesome-repositories.com/f/development-tools-productivity/external-configuration-integration.md) — Connects applications to distributed key-value stores for dynamic service configuration management. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config-center/others/))
- [Remote Service Providers](https://awesome-repositories.com/f/development-tools-productivity/remote-service-providers.md) — Publishes local service implementations as remote providers for invocation by other applications over a network. ([source](https://cdn.jsdelivr.net/gh/apache/dubbo-spring-boot-project@master/README.md))

### Security & Cryptography

- [HTTP Request Filtering](https://awesome-repositories.com/f/security-cryptography/http-request-filtering.md) — Executes custom request lifecycle logic using Servlet Filters and specialized REST filter extensions. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))
- [Access Control](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control.md) — Implements mechanisms to control which users or systems can access specific services via authentication. ([source](https://dubbo.apache.org/en/overview/home/))
- [Traffic Governance](https://awesome-repositories.com/f/security-cryptography/request-rate-limiting/traffic-governance.md) — Updates routing rules in a remote store to change request flow in real-time. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config-center/nacos/))
- [Metadata-Driven Routing](https://awesome-repositories.com/f/security-cryptography/request-rate-limiting/traffic-governance/metadata-driven-routing.md) — Controls request flow and canary releases by applying routing rules stored in a centralized metadata center.
- [REST API Security](https://awesome-repositories.com/f/security-cryptography/rest-api-security.md) — Secures RESTful service endpoints using basic authentication and custom identity validators. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/))
- [Service Communication Security](https://awesome-repositories.com/f/security-cryptography/service-communication-security.md) — Encrypts network traffic between distributed services using certificates and private keys. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/properties/))
- [Zero Trust Networking](https://awesome-repositories.com/f/security-cryptography/zero-trust-networking.md) — Establishes a zero-trust security model through transport encryption and strict identity verification. ([source](https://dubbo.apache.org/en/))

### System Administration & Monitoring

- [Metric Collection Tools](https://awesome-repositories.com/f/system-administration-monitoring/metric-collection-tools.md) — Gathers internal system performance metrics and exports them to observability tools. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/spring/spring-boot/))
- [Distributed Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/distributed-tracing.md) — Tracks request flow across service boundaries using unique identifiers to analyze distributed system performance. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/properties/))
- [Observability Tools](https://awesome-repositories.com/f/system-administration-monitoring/observability-tools.md) — Offers observability tools for collecting distributed traces, performance metrics, and health logs from RPC calls.
- [Metrics Exports](https://awesome-repositories.com/f/system-administration-monitoring/real-time-monitoring-systems/metrics-exports.md) — Exports structured RPC performance statistics and operational metadata to external monitoring tools. ([source](https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/config/properties/))
- [Service Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/service-health-monitoring.md) — Tracks the operational status of internal application services through health check interfaces, metrics, and logs. ([source](https://cdn.jsdelivr.net/gh/apache/dubbo-spring-boot-project@master/README.md))
