Introdução ao Spring Cloud

O Spring Cloud é uma biblioteca de código aberto que fornece ferramentas para o desenvolvimento rápido de aplicativos baseados em JVM para a nuvem. Permite que os aplicativos se conectem a vários serviços. O Spring Cloud permite que os desenvolvedores construam rapidamente vários aplicativos e serviços que podem implementar padrões comuns, como roteamento inteligente, estado do cluster, sessões distribuídas, bloqueios globais, gerenciamento de configuração do barramento de controle etc. em sistemas distribuídos. Eles podem funcionar facilmente em qualquer ambiente, desde os PCs normais até várias plataformas gerenciadas. Portanto, pode ser estendido para qualquer outra plataforma em nuvem.

Recursos do Spring Cloud

O Spring Cloud fornece uma experiência melhor e um mecanismo extensível que outros. Os principais recursos do Spring cloud são:

  • Configuração distribuída
  • Mensagens distribuídas
  • chamadas de serviço para serviço
  • Disjuntores
  • Bloqueios globais
  • Registro de serviço
  • Descoberta de serviço
  • Balanceamento de carga
  • Estado do cluster
  • Encaminhamento

Por que deveríamos exigir o Spring Cloud?

Enfrentamos os seguintes problemas durante o desenvolvimento de microsserviços distribuídos usando o Spring Boot:

  • Problemas de desempenho : diferentes despesas gerais operacionais afetam muito o desempenho.
  • Complexidade na implantação: são necessárias habilidades de DevOps.
  • Redundância: o sistema distribuído geralmente enfrenta problemas de redundância.
  • Balanceamento de carga : a distribuição da carga de trabalho entre vários recursos de computação é aprimorada pelo balanceamento de carga.
  • Complexidades do sistema distribuído: as complexidades incluem problemas de largura de banda, problemas de rede, problemas de segurança, problemas de latência, etc.
  • Ferramentas de diretório de serviço: essas ferramentas permitem que os processos e serviços no mesmo cluster conversem entre si.

Como funciona?

Abaixo está a explicação de como o Spring Cloud funciona:

  • A configuração do Spring Cloud fornece suporte do lado do cliente e do servidor para várias configurações em sistemas distribuídos.
  • Ele fornece uma plataforma centralizada para gerenciar várias propriedades para todos os aplicativos em diferentes ambientes.
  • O conceito de servidor e cliente é mapeado para as abstrações de Origem de propriedade e aplicativos Spring de forma idêntica.
  • Eles funcionam corretamente com aplicativos Spring e podem ser usados ​​com aplicativos diferentes em qualquer idioma.
  • Permite gerenciar e configurar todos os ambientes quando os aplicativos estão passando pelos pipelines de implantação, do desenvolvimento ao teste.
  • Ele também garante todas as necessidades de um aplicativo quando elas migram.
  • É fácil adicionar e implementar implementações alternativas com o Spring Cloud Config.
  • O valor padrão de spring.cloud.config.uri ie http://localhost:8888/ está sendo contatado pelos aplicativos Spring Boot até o Spring Config Client e o Spring Boot Actuator estarem no caminho de classe.
  • Você pode alterar o value spring.cloud.config.uri padrão value spring.cloud.config.uri pode ser definido no bootstrap.(yml | properties) ou nas propriedades do sistema.

Código:

@Configuration
@EnableAutoConfiguration
@RestController
public class DemoApplication (
@Value("$(config.name)")
String str = "Cloud";
@RequestMapping("/")
public String new() (
return "Spring " + str;
)
public static void main(String() args) (
SpringApplication.run(DemoApp.class, args);
)
)

  • A configuração local ou o servidor de configuração remoto pode fornecer o valor para o nome.
  • Você pode tentar executar seu próprio servidor usando um servidor spring-cloud-config-server.
  • Para executar o aplicativo na porta 8888, é possível definir spring.config.name=configserver E os dados são servidos nos repositórios de amostra.
  • Para localizar os dados de configuração necessários, você pode precisar de spring.cloud.config.server.git.uri

Configuração Spring Cloud

Abaixo estão as etapas a seguir:

Etapa 1: abra o site https://start.spring.io/ e escolha

Etapa 2: Selecione Spring Boot 1.4.X.

Etapa 3: Os artefatos devem ser definidos como 'config'.

Etapa 4: adicione o módulo do servidor de configuração na seção dependências.

Etapa 5: clique no botão Gerar para baixar um projeto pré-configurado contendo um arquivo zip.

Etapa 6: você também pode criar um projeto Spring Boot adicionando as dependências ao arquivo POM manualmente.

Etapa 7: Essas dependências podem ser compartilhadas entre todos os projetos.

Código:


org.springframework.boot
spring-boot-starter-parent
1.4.0.RELEASE


org.springframework.boot
spring-boot-starter-test
test


org.springframework.cloud
spring-cloud-dependencies
Brixton.SR5
pom
import



org.springframework.boot
spring-boot-maven-plugin

Etapa 8: As dependências para o 'servidor de configuração' estão abaixo:

Código:


org.springframework.cloud
spring-cloud-config-server

Etapa 9: A classe Application deve ser adicionada com o seguinte para ativar o Config Server, conforme mencionado no exemplo anterior:

Código:

@SpringBootApplication
@EnableConfigServer
public class DemoApplication (

)

Etapa 10: As 'propriedades do aplicativo' devem ser adicionadas ao src / main / resources.

Código:

server.port = 8888
spring.application.name = config
spring.cloud.config.server.git.uri = file://$(user.home)/application-config

Etapa 11: O parâmetro Uri é uma das configurações mais significativas para o 'servidor de configuração'.

Etapa 12: no Windows, o parâmetro Uri geralmente é adicionado a um caminho relativo que é resolvido para C:\users\\. And on Linux, it is /users//. C:\users\\. And on Linux, it is /users//.

Etapa 13: Todos os arquivos de propriedades para vários aplicativos são armazenados no repositório Git apontado acima.

Etapa 14: A pasta 'application-config' deve ser adicionada à pasta cloud.config.server.git.uri.

Etapa 15: Navegue para essa pasta usando o comando 'cd' e digite git init.

Etapa 16: Um repositório Git será iniciado agora, permitindo armazenar e rastrear seus arquivos.

Etapa 17: Execute o servidor de configuração para verificar se está funcionando.

Etapa 18: Digite mvn spring-boot: run command na linha de comando para iniciar o servidor.

Etapa 19: A seguinte saída será vista como uma indicação para o início bem-sucedido do servidor:

Tomcat started on port(s): 8888 (http)

Etapa 20: o servidor de configuração gerencia as propriedades do aplicativo nos servidores.

Etapa 21: nos servidores, as propriedades de cada aplicativo devem ser configuradas de forma que eles possam responder ao servidor.

Etapa 22: esse processo é um processo de inicialização. Cada um dos aplicativos deve ter um arquivo chamado properties.

Etapa 23: contém propriedades semelhantes às propriedades do aplicativo, com poucas diferenças.

Etapa 24: As propriedades são carregadas inicialmente por uma mola pai chamada Contexto do Aplicativo.

Etapa 25: Como é crítico, o servidor de configuração iniciará o gerenciamento de propriedades.

Etapa 26: O contexto do aplicativo também descriptografará as propriedades criptografadas.

Etapa 27: essas propriedades devem ser mantidas distintas.

Etapa 28: As propriedades iniciam o servidor de configuração e o preparam.

Etapa 29: As propriedades especificam as propriedades para seu aplicativo.

Etapa 30: tecnicamente, as propriedades do aplicativo também podem ser colocadas nas propriedades.

Etapa 31: Embora os servidores de configuração sejam responsáveis ​​pelo gerenciamento das propriedades do aplicativo, ainda precisaremos das propriedades, pois elas estão disponíveis como valores padrão e estão indisponíveis nos servidores de configuração.

Conclusão

Várias partes do Spring Cloud podem ser conectadas em um aplicativo Microservice funcional. Essa é uma plataforma básica que permite criar vários aplicativos complexos. O Spring Cloud permite criar aplicativos de nuvem poderosos. Todos os problemas enfrentados pelos ambientes distribuídos são resolvidos usando o Spring Cloud.

Artigos recomendados

Este é um guia para O que é o Spring Cloud ?. Aqui discutimos os recursos, seus requisitos, como seu trabalho e a configuração passo a passo do Spring Cloud. Você também pode ler nossos outros artigos relacionados para saber mais.

  1. O que é o Spring Boot?
  2. O que é o Salesforce Sales Cloud?
  3. O que é Defeito?
  4. O que é o Git Branch?
  5. Componentes do Spring Cloud

Categoria: