Todos los productos
Search
Centro de documentos

Enterprise Distributed Application Service:Guía de desarrollo de Dubbo

Última actualización: Sep 03, 2026

Enterprise Distributed Application Service (EDAS) admite Apache Dubbo para crear aplicaciones de microservicios. Esta guía aborda el sistema de extensiones de la Interfaz de Proveedor de Servicios (SPI) de Dubbo, los componentes internos del framework y sus principios de diseño.

Funcionamiento del sistema de extensiones SPI

Dubbo utiliza un mecanismo SPI ligero para mantener su núcleo modular. Cada componente principal (protocolos, balanceadores de carga, routers, registros) se define como un punto de extensión conectable. Esto le permite:

  • Reemplazar implementaciones integradas al modificar una sola propiedad de configuración, sin alterar el código del framework.

  • Agregar implementaciones personalizadas mediante la implementación de una interfaz de Java y su registro a través del archivo SPI.

  • Extender el comportamiento de forma transparente: Dubbo trata por igual las extensiones de terceros y las implementaciones integradas.

Para comprender la arquitectura subyacente, consulte los temas sobre diseño del framework y carga de SPI que se presentan a continuación.

Implementaciones de extensiones SPI

Dubbo define más de 20 puntos de extensión, organizados aquí por función. Cada punto de extensión es una interfaz de Java que admite implementaciones personalizadas.

RPC y gestión de tráfico

Extension point

What it controls

Protocol

Protocolo de red para llamadas remotas

Filter

Cadena de filtros de solicitud y respuesta para aspectos transversales como registro o autenticación

Cluster

Estrategia de tolerancia a fallos cuando falla una llamada (por ejemplo, failover, failfast, forking)

Router

Reglas de enrutamiento que determinan qué proveedores reciben el tráfico

LoadBalance

Estrategia de distribución de solicitudes entre varios proveedores

Merger

Lógica de fusión de resultados para invocaciones bifurcadas

Descubrimiento de servicios y configuración

Extension point

What it controls

Registry

Integración con el registro de servicios

Monitor

Recopilación de métricas y reporte de datos de monitoreo

Transporte y serialización

Extension point

What it controls

Transporter

Capa de transporte de red

Exchanger

Patrón de intercambio solicitud-respuesta sobre la capa de transporte

Networker

Gestión de topología de red para escenarios con múltiples registros

Serialization

Formato de serialización de datos

Ciclo de vida y proxy

Extension point

What it controls

InvokerListener

Callback que se activa en eventos de invocación de servicio

ExporterListener

Callback que se activa en eventos de exportación de servicio

ExtensionFactory

Fábrica para crear y gestionar instancias de extensión

ProxyFactory

Fábrica para crear proxies de servicio

Compiler

Compilación dinámica de código fuente Java

Dispatcher

Estrategia de despacho de hilos para mensajes entrantes

ThreadPool

Estrategia de pool de hilos para la ejecución de servicios

Diagnóstico y utilidades

Extension point

What it controls

TelnetHandler

Controlador para comandos de gestión en tiempo de ejecución basados en telnet

StatusChecker

Lógica de comprobación de salud para el reporte de estado del servicio

PageHandler

Renderizado de páginas de estado para el servidor HTTP integrado

Container

Gestión del ciclo de vida del contenedor de servicios

Cache

Estrategia de caché de resultados para invocaciones repetidas

Validation

Validación de parámetros antes de la invocación

LoggerAdapter

Adaptador para integrar distintos frameworks de registro

Componentes internos del framework

Estos temas explican cómo está construido Dubbo y cómo funciona internamente el mecanismo SPI.

Topic

What it covers

Source code build

Compilar el código fuente de Dubbo desde el repositorio

Framework design

Arquitectura general, diseño por capas y dependencias de módulos

SPI loading

Cómo Dubbo descubre, carga e instancia las extensiones SPI

Implementation details

Implementación interna de los componentes principales

Configuration center

Gestión centralizada de configuración para servicios distribuidos

Public agreement

Convenciones y contratos de protocolo público compartidos entre los componentes de Dubbo

Principios de diseño

El framework Dubbo sigue un conjunto de principios de diseño documentados en estos temas. Úselos como referencia cuando contribuya al framework o desarrolle extensiones personalizadas.

Topic

What it covers

Attention to detail

Importancia de los casos extremos y las decisiones de diseño sutiles en el código del framework

Foundational design patterns

Patrones de diseño fundamentales y convenciones utilizadas en todo el código base

Extensibility and incremental extension

Diseño de extensiones compatibles con versiones anteriores y componibles

Configuration design

Directrices para diseñar parámetros de configuración y valores predeterminados

Robustness

Manejo de errores, patrones de resiliencia y programación defensiva en el framework

Fool-proof design

Prevención de uso indebido mediante API claras, valores predeterminados adecuados y validación de entradas

Extension point refactoring

Cuándo y cómo refactorizar interfaces de puntos de extensión

Estándares de calidad de código

Topic

What it covers

Versioning

Convenciones de numeración de versiones y garantías de compatibilidad

Checklist

Lista de verificación previa a la versión para cambios en el framework

Code smells

Antipatrones comunes que deben evitarse en el código del framework Dubbo

Coding conventions

Estándares de estilo de código, nomenclatura y formato

Compatibility testing

Estrategia de pruebas para compatibilidad hacia atrás y hacia adelante