Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:Documentação do usuário do Dubbo

Última atualização: Jun 26, 2026

Este tópico apresenta a documentação do usuário do Apache Dubbo para sua referência.

Primeiros passos

Configure seu ambiente e coloque uma aplicação Dubbo em execução.

Tópico

Descrição

Informações básicas

Conceitos fundamentais do Apache Dubbo e seu papel em sistemas distribuídos

Requisitos

Pré-requisitos de software e ambiente

Arquitetura 2.6.1

Layout de componentes e modelo de interação do Dubbo 2.6.1

Arquitetura 2.7.1

Arquitetura atualizada e novas capacidades do Dubbo 2.7.1

Uso

Padrões básicos para criar e executar serviços Dubbo

Início rápido

Guia passo a passo para começar com sua primeira aplicação Dubbo

Dependências

Bibliotecas e dependências necessárias

Maturidade

Níveis de estabilidade de recursos e indicadores de prontidão para produção

Configuração

Configure serviços Dubbo por meio de XML, arquivos de propriedades, anotações ou API.

Tópico

Descrição

Configuração XML

Defina serviços, referências e registros em arquivos XML

Configuração de propriedades

Utilize arquivos .properties para configurações leves

Configuração via API

Configure o Dubbo programaticamente com código Java

Configuração por anotações

Use anotações Java para declarar serviços e referências

Centro de configuração dinâmica

Envie alterações de configuração em tempo de execução

Processo de carregamento de configuração

Como o Dubbo resolve e mescla configurações de múltiplas fontes

Carregamento automático de variáveis de ambiente

Mapeie variáveis de ambiente para propriedades de configuração do Dubbo

Exemplos

Exemplos funcionais de recursos comuns do Dubbo, organizados por categoria.

Registro e descoberta de serviços

Tópico

Descrição

Verificação preliminar

Valide a disponibilidade do provedor antes que o consumidor inicie

Destino explícito

Conecte-se diretamente a um provedor específico, ignorando o registro

Apenas assinatura

Descubra provedores pelo registro sem registrar o serviço local

Apenas registro

Registre o serviço local no registro sem assinar outros provedores

Serviço estático

Registre serviços com um endereço fixo que não muda dinamicamente

Múltiplos registros

Roteie serviços por mais de um servidor de registro

Balanceamento de carga e tolerância a falhas

Tópico

Descrição

Balanceamento de carga

Configure estratégias de balanceamento para invocações de serviço

Estratégia de tolerância a falhas

Gerencie falhas com políticas configuráveis de tolerância

Degradar serviço

Retorne resultados alternativos quando um provedor estiver indisponível ou lento

Regra de roteamento

Direcione o tráfego para provedores específicos com base em condições

Configurar regras

Aplique regras de governança dinamicamente em tempo de execução

Modelo de serviço e versionamento

Tópico

Descrição

Grupo de serviços

Isole diferentes implementações da mesma interface por grupo

Múltiplas versões

Execute várias versões de um serviço simultaneamente para uma implantação segura

Múltiplos protocolos

Exponha o mesmo serviço por mais de um protocolo ao mesmo tempo

Mesclagem de grupos

Agregue resultados de provedores em diferentes grupos de serviços

Padrões de invocação

Tópico

Descrição

Chamada assíncrona

Invoque serviços remotos sem bloquear a thread chamadora

Execução assíncrona

Execute a lógica do lado do provedor de forma assíncrona para melhorar o throughput

Chamada local

Invoque um serviço dentro da mesma JVM, evitando sobrecarga de rede

Parâmetro de callback

Receba resultados assíncronos por meio de uma interface de callback

Notificação de eventos

Dispare eventos em caso de sucesso, falha ou conclusão da invocação

Referência genérica

Chame qualquer serviço sem dependência de compilação em sua interface

Serviço genérico

Implemente um provedor que lida com interfaces de serviço arbitrárias

Serviço de eco

Teste a disponibilidade do serviço com uma solicitação de eco leve

Contexto

Passe e recupere metadados com escopo de requisição durante as invocações

Parâmetros implícitos

Anexe pares chave-valor ocultos às chamadas RPC sem alterar a assinatura da interface

Controle de tráfego e gerenciamento de conexões

Tópico

Descrição

Controle de concorrência

Limite o número de requisições simultâneas que um provedor ou consumidor processa

Configurar conexões

Defina tamanho do pool de conexões, timeout e parâmetros de keep-alive

Conexão lazy

Adie a criação da conexão TCP até que a primeira requisição seja enviada

Conexão persistente

Fixe um consumidor no mesmo provedor para casos de uso com afinidade de sessão

Autorização por token

Exija um token para impedir acesso direto não autorizado aos provedores

Modelo de threads

Personalize o pool de threads do Netty e a estratégia de despacho

Recursos avançados

Tópico

Descrição

Stub local

Execute lógica de pré ou pós-processamento no lado do consumidor antes ou depois de uma chamada remota

Mock local

Retorne dados simulados quando o provedor estiver indisponível, útil para testes e degradação

Publicação atrasada

Adie o registro do serviço até que a aplicação esteja totalmente inicializada

Validação de parâmetros

Valide os parâmetros do método antes da execução da chamada

Cache de resultados

Armazene resultados de invocação em cache para reduzir chamadas remotas repetidas

Cache de ReferenceConfig

Reutilize instâncias de ReferenceConfig para evitar a criação de proxies duplicados

Transação distribuída

Coordene transações entre múltiplos serviços

Thread dump automático

Dispare um thread dump automaticamente quando o Dubbo detectar um problema

Desligamento gracioso

Drene requisições em andamento e cancele o registro do provedor antes que a JVM encerre

Logs, rede e serialização

Tópico

Descrição

Vinculação de hostname

Controle a qual interface de rede e hostname o Dubbo se vincula

Estratégia de logger

Alterne entre os frameworks de log Log4j, SLF4J, JCL e JDK

Log de acesso

Registre cada invocação recebida para auditoria e depuração

Contêiner de serviço

Execute serviços Dubbo independentemente, sem um contêiner web

Netty4

Ative o transporte Netty 4 para obter melhor desempenho

Uso de serialização Java eficiente no Dubbo (Kryo e FST)

Substitua o serializador padrão por Kryo ou FST para uma serialização mais rápida

Simplificar URLs de registro

Reduza o tamanho das URLs de registro removendo parâmetros redundantes

Referência da API

Documentação da API Java para classes e interfaces do Dubbo.

Referência de configuração XML

Descrições detalhadas de atributos e uso para cada tag XML do Dubbo.

Tag

Descrição

Introdução

Atributos comuns e convenções compartilhadas entre as tags XML do Dubbo

dubbo:service

Expõe uma classe Java local como um serviço remoto Dubbo

dubbo:reference

Cria um proxy para consumir um serviço remoto Dubbo

dubbo:protocol

Configura o protocolo de comunicação (porta, serialização, pool de threads)

dubbo:registry

Conecta a um servidor de registro para descoberta de serviços

dubbo:monitor

Ativa a coleta e o relatório de métricas de invocação

dubbo:application

Define propriedades no nível da aplicação, como nome e proprietário

dubbo:module

Agrupa serviços relacionados em um módulo lógico

dubbo:provider

Define valores padrão para todas as tags dubbo:service na mesma configuração

dubbo:consumer

Define valores padrão para todas as tags dubbo:reference na mesma configuração

dubbo:method

Sobrescreve configurações para um método específico dentro de um serviço ou referência

dubbo:argument

Configura regras de serialização ou validação para um argumento de método específico

dubbo:parameter

Passa pares chave-valor arbitrários como parâmetros de extensão

dubbo:config-center

Conecta a um centro de configuração externo para gerenciamento centralizado

Referências de protocolos

Protocolos de comunicação suportados, cada um com detalhes de conexão, casos de uso e restrições.

Protocolo

Descrição

Introdução

Orientação e comparação para seleção de protocolos

dubbo://

Protocolo binário padrão de alto desempenho, adequado para cenários de alto throughput e baixa latência

rmi://

Protocolo Java RMI para integração com serviços RMI legados

hessian://

Protocolo binário Hessian com transporte HTTP integrado, útil para chamadas entre linguagens

http://

Protocolo HTTP padrão para invocações simples no estilo RESTful

webservice://

Protocolo de Web Services baseado em SOAP para integração de sistemas corporativos

thrift://

Protocolo Apache Thrift para RPC entre linguagens

memcached://

Acessa servidores Memcached por meio da interface de serviço Dubbo

redis://

Acessa servidores Redis por meio da interface de serviço Dubbo

rest://

Protocolo RESTful para invocações de serviço baseadas em HTTP

Referências de servidores de registro

Opções de registro para descoberta de serviços, cada uma com instruções de configuração e compromissos.

Registro

Descrição

Introdução

Orientação e comparação para seleção de registros

Registro Multicast

Registro sem dependências para desenvolvimento e testes em rede local

Servidor de registro ZooKeeper

Registro de nível de produção suportado pelo Apache ZooKeeper

Centro de registro Nacos

Registro e centro de configuração suportados pelo Alibaba Nacos

Servidor de registro Redis

Implementação de registro usando pub/sub do Redis para notificações de serviço

Servidor de registro simples

Registro leve para testes, implementado como um serviço Dubbo padrão

Referência de metadados

Gerenciamento de metadados de serviço: como o Dubbo lida com metadados de interface entre provedores e consumidores.

Referência de comandos Telnet

Use a interface Telnet integrada para inspecionar serviços em execução, invocar métodos e solucionar problemas pela linha de comando.

Uso de comandos QoS

A porta de comandos de Qualidade de Serviço (QoS) fornece verificações de integridade, desligamento gracioso e diagnósticos em tempo de execução.

Referência do plug-in Maven

Plug-in Maven para aplicações Dubbo.

Melhores práticas

Tópico

Descrição

Uso recomendado

Abordagens preferenciais para cenários comuns de configuração

Planejamento de capacidade

Estime hardware e tamanho do cluster com base no tráfego esperado

Relatório de desempenho

Dados de benchmark e diretrizes de ajuste para otimizar throughput e latência do Dubbo

Relatório de cobertura de testes

Métricas de cobertura de código e estratégias de teste para serviços Dubbo

Atualização de versão

Tópico

Descrição

Procedimentos e notas de atualização para 2.7.x

Alterações disruptivas, etapas de migração e notas de compatibilidade para atualização para o Dubbo 2.7.x

Erlang

O Apache Dubbo fornece um cliente Erlang. Os tópicos abaixo abordam a configuração e o setup para consumidores e provedores baseados em Erlang.

Tópico

Descrição

Início rápido

Configure um projeto Dubbo em Erlang e execute um exemplo básico de consumidor-provedor

Configuração do consumidor

Configure referências de serviço, timeouts e balanceamento de carga para consumidores Erlang

Configuração do provedor

Registre e exponha serviços Erlang no ecossistema Dubbo

Configuração de serialização

Escolha e configure um formato de serialização para comunicação Dubbo em Erlang