O High-speed Service Framework (HSF) é um framework de Remote Procedure Call (RPC) distribuído amplamente utilizado no Alibaba Group. O HSF desacopla aplicações distribuídas por meio de um modelo unificado de publicação e invocação de serviços. Ele gerencia comunicação remota, serialização, perda de desempenho e invocações síncronas e assíncronas para manter o código da aplicação focado na lógica de negócios.
O Dubbo 3.0 integra o Dubbo open-source e o HSF. Para atualize uma aplicação HSF existente, consulte Atualizar uma aplicação HSF para uma aplicação Dubbo 3.0. Realize a atualização pelo console do Enterprise Distributed Application Service (EDAS). Após a atualização, desenvolva a aplicação com o método original ou use o recurso de governança de microsserviços do EDAS para aplicações Dubbo.
Arquitetura
O HSF opera inteiramente no lado do cliente, sem cluster central para processar requisições. Todas as chamadas de serviço ocorrem ponto a ponto entre provedores e consumidores. O HSF depende de vários sistemas externos para descoberta de serviços, governança e visibilidade operacional.
Plano de dados
O plano de dados consiste nos provedores e consumidores de serviços que trocam dados diretamente por chamadas RPC.
|
Componente |
Função |
|
Provedor de serviço |
Escuta na porta 12200, processa requisições recebidas e publica seu endereço no registro de endereços. |
|
Consumidor de serviço |
Assina os endereços de serviço pelo registro e inicia chamadas ponto a ponto com base nas informações obtidas. O registro de endereços não participa das chamadas. |
Plano de controle
O plano de controle gerencia descoberta de serviços, configuração e visibilidade operacional.
|
Componente |
Função |
Obrigatório |
|
Registro de endereços |
Armazena endereços de provedores para registro e descoberta de serviços. Sem ele, apenas chamadas diretas ponto a ponto são possíveis. |
Sim |
|
Centro de configuração persistente |
Armazena regras de governança, como roteamento, agrupamento e ponderação. Os consumidores assinam essas regras na inicialização para definir a lógica de seleção de endereços. |
Não explicitamente declarado |
|
Centro de armazenamento de metadados |
Armazena metadados de serviço, como assinaturas de métodos e estruturas de parâmetros. Não afeta as chamadas de serviço. Na inicialização do HSF, o consumidor relata metadados ao centro de armazenamento para facilitar a operação e manutenção do serviço. |
Não |
|
Console do EDAS |
Conecta o registro, o centro de configuração e o centro de armazenamento de metadados. Oferece consulta de serviços, gerenciamento de regras de governança e outros recursos operacionais. |
Não |
Métodos de chamada compatíveis
O HSF oferece suporte aos seguintes métodos de chamada:
|
Método |
Descrição |
|
Síncrono |
Método padrão. O consumidor bloqueia a execução até o provedor retornar um resultado. |
|
Assíncrono (Future) |
O consumidor continua a execução e recupera os resultados posteriormente por |
|
Assíncrono (Callback) |
O consumidor registra um manipulador |
|
Genérico |
O consumidor chama serviços sem importar interfaces de API do provedor. Ideal para criar integrações leves em nível de plataforma independentes de SDKs do provedor. |
Extensão de filtro de rastreamento
O HSF inclui um mecanismo integrado de filtros de chamada. Implemente pontos de extensão de filtros personalizados para integrar ao rastreamento de chamadas do HSF. Essas extensões processam requisições do HSF.
Desenvolvimento de aplicações
O HSF oferece suporte a dois modelos de desenvolvimento e implantação:
|
Modelo |
Dependência de runtime |
Recursos compatíveis |
Formato de implantação |
|
Ali-Tomcat |
Ali-Tomcat + Pandora |
Registro e descoberta de serviços, passagem implícita de parâmetros, chamadas assíncronas, chamadas genéricas, extensão de filtro de rastreamento |
Pacote WAR |
|
Pandora Boot |
Pandora |
Registro de serviço, descoberta de serviço, chamadas assíncronas |
Pacote JAR executável |