More Advanced Features

Advanced Features Guide

As a microservice framework closely related to application development and aimed at providing enterprise-level service governance capabilities, Dubbo offers a variety of advanced features covering service call behavior control, service diagnostics and tuning, and service governance.

Different language SDKs may have slight variations in feature implementation and configuration methods. For a specific list of features and usage, refer to the following documents:

Controlling Service Invocation Behavior

  • Service Versions
  • Service Groups
  • Group Aggregation
  • Asynchronous Invocation
  • Asynchronous Execution
  • Streaming Communication
  • Reactive Programming
  • Generic Invocation
  • Generic Implementation
  • Passing Implicit Parameters in Call Chain
  • RPC Call Context
  • Invocation Event Notifications
  • Server Callbacks to Client
  • Subscribe Only
  • Register Only
  • Runtime Dynamic IP Specification
  • Direct Provider Connection
  • Startup Checks
  • Local Invocation
  • Parameter Validation
  • Local Mocking
  • Local Stubs
  • Echo Tests
  • Invocation Information Logging
  • Delayed Exposure
  • Cluster Fault Tolerance
  • Service Degradation

Diagnostics and Tuning

  • Port Protocol Multiplexing
  • Thread Pool Isolation
  • Multiple Protocols
  • Multiple Registry Centers
  • Request Latency Sampling
  • Thread Models
  • Service Reference Configuration Object Caching
  • Route State Collection
  • Load Balancing
  • Simplified Registration Information
  • Invocation Result Caching
  • Concurrency Control
  • Connection Control
  • Delayed Connections
  • Sticky Connections
  • Graal VM Support
  • Exporting Thread Stack Trace
  • Kryo and FST Serialization
  • Custom Service Container
  • Graceful Shutdown
  • Custom Host Address Exposure
  • Consistent Hashing
  • Logging Framework Adaptation and Runtime Management
  • Kubernetes Lifecycle Probes

These features are designed to provide more control and flexibility in a microservices environment. They can help improve system reliability, enhance performance, and ease the process of deploying, managing, and scaling applications.