Spring Cloud Alibaba é uma solução abrangente para a construção de aplicações distribuídas, integrando-se perfeitamente com o middleware do Alibaba. Ele simplifica o desenvolvimento, oferecendo um balcão único para componentes essenciais e exigindo configuração mínima. Este documento detalha seus recursos, componentes, uso e diretrizes de contribuição.
Primavera Nuvem Alibaba
Um projeto mantido pelo Alibaba.
Consulte o 中文文档 para o leia-me em chinês.
Spring Cloud Alibaba fornece uma solução completa para desenvolvimento de aplicativos distribuídos. Ele contém todos os componentes necessários para desenvolver aplicativos distribuídos, facilitando o desenvolvimento de seus aplicativos usando Spring Cloud.
Com Spring Cloud Alibaba, você só precisa adicionar algumas anotações e uma pequena quantidade de configurações para conectar aplicativos Spring Cloud às soluções distribuídas do Alibaba e construir um sistema de aplicativos distribuídos com middleware Alibaba.
Características
Para obter mais recursos, consulte o Roteiro.
Além dos recursos mencionados acima, para as necessidades dos cenários dos usuários corporativos, o Microservices Engine (MSE) da versão corporativa do Spring Cloud Alibaba fornece um centro de governança de microsserviços de nível empresarial, que inclui recursos de governança mais poderosos, como Grayscale Release, Service Aquecimento, Lossless Online e Offline e Ejeção Outlier. Ao mesmo tempo, também fornece uma variedade de produtos e soluções, como centro de registro/configuração Nacos de nível empresarial e gateway nativo de nuvem de nível empresarial.
Componentes
Sentinel: O Sentinel considera o "fluxo de tráfego" como ponto de ruptura e fornece soluções em áreas como controle de fluxo, simultaneidade, interrupção de circuito e proteção de carga para proteger a estabilidade do serviço.
Nacos: Uma plataforma dinâmica de descoberta, configuração e gerenciamento de serviços fácil de usar para criar aplicativos nativos da nuvem.
RocketMQ: Uma plataforma distribuída de mensagens e streaming com baixa latência, alto desempenho e confiabilidade, capacidade de nível de trilhão e escalabilidade flexível.
Seata: Uma solução de transação distribuída com alto desempenho e facilidade de uso para arquitetura de microsserviços.
Alibaba Cloud OSS: Um serviço de armazenamento em nuvem criptografado e seguro que armazena, processa e acessa grandes quantidades de dados de qualquer lugar do mundo.
Alibaba Cloud SMS: um serviço de mensagens que cobre o mundo todo, o Alibaba SMS oferece recursos de comunicação convenientes, eficientes e inteligentes que ajudam as empresas a entrar em contato rapidamente com seus clientes.
Alibaba Cloud SchedulerX: Serviços de agendamento de tarefas agendadas precisos, altamente confiáveis e altamente disponíveis com tempo de resposta em segundos.
Para obter mais recursos, consulte o Roteiro.
Como construir
Spring Cloud usa Maven para a maioria das atividades relacionadas à construção, e você deve conseguir decolar rapidamente clonando o projeto de seu interesse e digitando:
Como usar
Adicionar dependência maven
Esses artefatos estão disponíveis no repositório Maven Central e Spring Release via BOM:
adicione o módulo nas dependências. Se quiser escolher uma versão mais antiga, você pode consultar as Notas de Lançamento.
Exemplos
Um módulo spring-cloud-alibaba-examples está incluído em nosso projeto para você começar a usar o Spring Cloud Alibaba rapidamente. Ele contém um exemplo e você pode consultar o arquivo leia-me no projeto de exemplo para obter uma explicação rápida.
Exemplos:
Exemplo de Sentinela
Exemplo de Nacos
Exemplo RocketMQ
Exemplo de OSS da nuvem Alibaba
Diretrizes de controle de versão
O número da versão do projeto está no formato xxx, onde x é um número, começando em 0 e não está limitado ao intervalo de 0 a 9. Quando o projeto está na fase de incubadora, o número da versão é 0.xx
Como as interfaces e anotações do Spring Boot 1 e Spring Boot 2 foram alteradas significativamente no módulo Actuator, e o spring-cloud-commons também mudou bastante de 1.xx para 2.0.0, adotamos a mesma regra de versão que Número da versão do SpringBoot.
Código de Conduta
Este projeto é um subprojeto do Spring Cloud e segue o código de conduta do Contributor Covenant. Ao participar, espera-se que você cumpra este código. Por favor, relate comportamento inaceitável para [email protected].
Convenções de código e limpeza
Nada disso é essencial para uma solicitação pull, mas todos ajudarão. Eles também podem ser adicionados após a solicitação pull original, mas antes de uma mesclagem.
Use as convenções de formato de código do Spring Framework. Se você usar o Eclipse, poderá importar as configurações do formatador usando o arquivo eclipse-code-formatter.xml do projeto Spring Cloud Build. Se estiver usando o IntelliJ, você pode usar o plug-in Eclipse Code Formatter para importar o mesmo arquivo.
Certifique-se de que todos os novos arquivos .java tenham um comentário simples da classe Javadoc com pelo menos uma tag @author identificando você e, de preferência, pelo menos um parágrafo sobre a finalidade da classe.
Adicione o comentário do cabeçalho da licença ASF a todos os novos arquivos .java (copie dos arquivos existentes no projeto)
Adicione-se como @autor aos arquivos .java que você modifica substancialmente (mais do que alterações cosméticas).
Adicione alguns Javadocs e, se você alterar o namespace, alguns elementos do documento XSD.
Alguns testes de unidade também ajudariam muito — alguém tem que fazer isso.
Se ninguém mais estiver usando sua ramificação, faça o rebase dela em relação ao 2023.x atual (ou outra ramificação de destino no projeto principal).
Ao escrever uma mensagem de commit, siga estas convenções. Se você estiver corrigindo um problema existente, adicione Fixes gh-XXXX no final da mensagem de commit (onde XXXX é o número do problema).
Contate-nos
A lista de discussão é recomendada para discutir quase tudo relacionado ao spring-cloud-alibaba.
[email protected]: Você pode fazer perguntas aqui se encontrar algum problema ao usar ou desenvolver spring-cloud-alibaba.