Configuração de Ambiente para o Código-Fonte do Dubbo 3

Este guia detalha os passos necessários para preparar o ambiente de desenvolvimento e compilar o código-fonte do Dubbo 3, além de fornecer uma visão geral da estrutura de módulos do projeto.

Configuração do Ambiente

Pré-requisitos

  • Maven
  • Git
  • JDK (Java Development Kit)
  • IntelliJ IDEA

Compilação do Código-Fonte

Obtenção do Código

Clone o repositório oficial do Dubbo utilizando Git:

git clone git@github.com:apache/dubbo.git

Execução da Compilação

Compile o projeto com o Maven. Recomenda-se o uso do mvnd para um aumento significativo na velocidade de compilação (até 3 vezes mais rápido).

mvn clean install -DskipTests

Utilizando mvnd:

mvnd clean install -DskipTests -Dquickly

A compilação pode levar algum tempo.

Importação no IntelliJ IDEA

Configure o projeto para o IntelliJ IDEA:

mvn idea:idea

Visão Geral dos Módulos

  • dubbo-common

    Este módulo contém utilitários e lógica comum para o Dubbo, incluindo implementações de SPI, o mecanismo de "time wheel" e compiladores dinâmicos.

  • dubbo-remoting

    Responsável pelas comunicações de rede do Dubbo. O módulo dubbo-remoting-api define as abstrações, enquanto outros submódulos (como dubbo-remoting-netty4 e dubbo-remoting-zookeeper) fornecem implementações concretas utilizando bibliotecas como Netty 4 e Apache Curator para interagir com o ZooKeeper.

  • dubbo-rpc

    Abstrai os protocolos de chamada remota. O módulo dubbo-rpc-api contém as definições centrais, e submódulos como dubbo-rpc-dubbo implementam protocolos específicos, dependendo de módulos de dubbo-remoting. Este módulo foca em chamadas ponto a pontto, sem lidar com aspectos de cluster.

  • dubbo-registry

    Gerencia a interação com diversos sistemas de registro (service registries). O módulo dubbo-registry-api define a interface, e submódulos como dubbo-registry-zookeeper oferecem implementações específicas para componentes como o ZooKeeper.

  • dubbo-monitor

    O módulo de monitoramento, utilizado para coletar estatísticas de chamadas de serviço, tempos de execução e rastreamento de chamadas distribuídas.

  • dubbo-config

    Responsável por processar as configurações expostas pelo Dubbo. dubbo-config-api lida com configurações via API, enquanto dubbo-config-spring gerencia a integração com o Spring. Isso permite que os usuários configurem o Dubbo sem se aprofundar nos detalhes internos.

  • dubbo-metadata

    Trata dos metadados do serviço. Similar a outros módulos, possui um módulo api para abstração e submódulos para implementações específicas.

  • dubbo-configcenter

    Módulo de configuração dinâmica, focado em gerenciar configurações externalizadas e regras de governança de serviços, além de notificar sobre mudanças. Inclui submódulos para integração com variados componentes de descoberta de serviços.

  • dubbo-demo

    Contém exemplos de uso do Dubbo, demonstrando configurações via anotações, API, XML e Spring Boot.

Execução de Exemplos

Para testar a compilação, utilize o exemplo dubbo-demo-annotation. Certifique-se de que um servidor ZooKeeper esteja em execução.

  • Inicie a aplicação provedora: org.apache.dubbo.demo.provider.Application
  • Inicie a aplicação consumidora: org.apache.dubbo.demo.consumer.Application

Este artigo cobriu a configuração básica do ambiente de desenvolvimento do Dubbo 3 e apresentou uma visão geral de seus principais módulos.

Tags: dubbo maven JDK Git IntelliJ IDEA

Publicado em 6-17 16:51