apache/dubbo

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 7 minutes ago
Added to GitGenius on June 12th, 2023
Created on June 19th, 2012
Open Issues & Pull Requests: 1,031 (+0)
Number of forks: 26,383
Total Stargazers: 41,556 (+0)
Total Subscribers: 2,955 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 38.9 hours
Mean response time: 176.4 days
90th percentile: 630.0 days
Tracked items: 787

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 82% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "component/need-triage" is answered fastest, typically in about 14 hours, while "type/discussion" waits about 2 months. 60% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 669
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 1,168 days
Stale 30+ days: 647
Stale 90+ days: 631

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 4
Events in 7 days: 19

Top labels

  • type/bug (608)
  • help wanted (478)
  • type/need-triage (407)
  • component/need-triage (361)
  • type/proposal (350)
  • type/discussion (185)
  • status/waiting-for-feedback (162)
  • type/enhancement (112)

Detailed Description

Apache Dubbo is a Java-based RPC and microservices framework maintained by the Apache Software Foundation. It provides comprehensive solutions for building distributed systems with support for communication protocols, service discovery, traffic management, observability, and security. The framework is part of a larger ecosystem that includes implementations in Go, Python, PHP, Erlang, Rust, and Node.js, though this repository contains the primary Java implementation.

The framework supports multiple RPC protocols including Triple, which is gRPC-compatible, Dubbo2 over TCP, REST, and custom protocols. Consumers dynamically discover provider instances from registries such as Zookeeper and Nacos, with built-in traffic management strategies. Dubbo provides a lightweight RPC API that allows developers to build services with minimal code and a lightweight SDK, while also offering deeper integration through Spring Boot Starter support that unlocks features like service discovery, observability, and tracing through simple YAML configuration.

Core features include dynamic configuration management, metrics collection, distributed tracing, security controls, and a visualized console for administration. The framework supports traffic management capabilities, service mesh integration with Kubernetes, and extensibility through pluggable components. Version 3.3.6 introduced Mutiny reactive support, affinity routing, method-level TPS limiting, and Spring 6 security plugins. Version 3.2.16 includes thread pool isolation and reported 30 percent performance improvements along with native image support. The framework maintains active support for Java versions 1.8 through 25, with different versions supporting different JDK ranges.

The project maintains multiple active version lines. Dubbo 3.3.5 and 3.3.6 are actively maintained with the latest features, while 3.2.16 remains actively maintained for users on older JDK versions. Dubbo 3.1.11 is stable but no longer actively maintained. Older Dubbo 2.x versions including 2.7.23, 2.6.x, and 2.5.x have reached end-of-life status. The community provides multiple channels for engagement including mailing lists, WeChat, DingTalk, and Twitter.