Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Java
  3. Dubbo

Dubbo

Apache-2.0Javadubbo-3.3.6

A Java-based RPC and microservice framework for building enterprise-grade distributed systems.

Visit WebsiteGitHubGitHub
41.6k stars26.5k forks0 contributors

What is Dubbo?

Apache Dubbo is a Java-based RPC and microservice framework that enables developers to build high-performance, scalable distributed systems. It solves the complexities of service-to-service communication, discovery, and management in microservices architectures by providing a unified toolkit with built-in support for protocols, traffic control, and observability.

Target Audience

Java developers and architects building enterprise-level microservices, distributed systems, or cloud-native applications who need robust service communication and management capabilities.

Value Proposition

Developers choose Dubbo for its comprehensive feature set, seamless integration with Spring Boot, support for multiple RPC protocols (including gRPC-compatible Triple), and proven scalability in large-scale production environments, backed by the Apache Software Foundation.

Overview

The java implementation of Apache Dubbo. An RPC and microservice framework.

Use Cases

Best For

  • Building high-performance microservices architectures in Java
  • Implementing service discovery and dynamic routing in distributed systems
  • Developing gRPC-compatible RPC services with the Triple protocol
  • Managing traffic and load balancing across service instances
  • Adding observability (metrics, tracing) to microservices
  • Integrating microservices with Spring Boot and Kubernetes ecosystems

Not Ideal For

  • Small-scale projects or prototypes where simple HTTP/REST services are sufficient
  • Teams exclusively using non-Java ecosystems (e.g., .NET, Ruby) without JVM integration plans
  • Applications with minimal service-to-service communication that don't require advanced traffic management or observability

Pros & Cons

Pros

High-Performance RPC

Dubbo is optimized for high-performance communication, with protocols like Triple (gRPC-compatible) ensuring efficient service calls in distributed systems, as highlighted in its feature set.

Flexible Protocol Support

It supports multiple RPC protocols including Triple, Dubbo2 TCP, and REST, allowing developers to choose based on project needs, as detailed in the README's protocol sections.

Seamless Spring Boot Integration

With Spring Boot Starters, Dubbo integrates easily into Spring-based projects, enabling quick setup of microservices with service discovery and observability, as shown in the 'Microservices with Spring Boot' guide.

Built-in Observability

Dubbo provides out-of-the-box support for metrics, distributed tracing, and monitoring, essential for maintaining reliability in microservices, as mentioned in its core features.

Cons

Complex Initial Setup

Setting up Dubbo requires configuring external registries like Zookeeper or Nacos and managing detailed YAML files, which can be daunting for newcomers, as implied by the extensive getting started guides.

Version Fragmentation Challenges

The README shows multiple versions with some (e.g., Dubbo2) marked as End of Life, leading to confusion and migration hurdles for users upgrading or starting new projects.

Documentation Language Barrier

Some documentation and guides are primarily in Chinese (zh-cn), as seen in README links, which may limit accessibility for non-Chinese speakers seeking comprehensive resources.

Frequently Asked Questions

Quick Stats

Stars41,563
Forks26,483
Contributors0
Open Issues822
Last commit1 day ago
CreatedSince 2012

Tags

#dubbo#observability#http#traffic-management#distributed-systems#kubernetes#java#framework#grpc#microservices#spring-boot#rpc#rpc-framework#service-discovery#service-mesh#restful

Built With

N
Nacos
K
Kubernetes
S
Spring Boot
Z
Zookeeper
J
Java
D
Docker

Links & Resources

Website

Included in

Java47.5kMicroservices14.2k
Auto-fetched 1 day ago

Related Projects

gRPC-javagRPC-java

The Java gRPC implementation. HTTP/2 based RPC

Stars12,006
Forks3,986
Last commit2 days ago
DropwizardDropwizard

A damn simple library for building production-ready RESTful web services.

Stars8,585
Forks3,413
Last commit1 day ago
KryoNetKryoNet

TCP/UDP client/server library for Java, based on Kryo

Stars1,851
Forks412
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub