A Java-based RPC and microservice framework for building enterprise-grade distributed systems.
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.
Java developers and architects building enterprise-level microservices, distributed systems, or cloud-native applications who need robust service communication and management capabilities.
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.
The java implementation of Apache Dubbo. An RPC and microservice framework.
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.
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.
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.
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.
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.
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.
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.
The Java gRPC implementation. HTTP/2 based RPC
A damn simple library for building production-ready RESTful web services.
TCP/UDP client/server library for Java, based on Kryo
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.