Microsserviços usando Spring Boot e Spring Cloud

Publicados: 2020-09-04

Índice

Introdução aos microsserviços

Microsserviços são serviços pequenos e autossuficientes que trabalham em conjunto para atingir uma meta de negócios complexa. Esses serviços são independentes e completos para que possam ser construídos por várias equipes de desenvolvimento, usando diferentes linguagens de programação e armazenamentos de dados. Os microsserviços são escaláveis ​​individualmente e podem ser implantados automaticamente. Eles são fáceis de manter e oferecem maior tolerância a falhas em comparação com serviços monolíticos. No entanto, eles são fracamente acoplados e são capazes de interagir uns com os outros para atingir os objetivos de um aplicativo maior.

Diversas ferramentas estão disponíveis no mercado para que você possa construir softwares utilizando uma arquitetura de microsserviços. Spring Cloud e Spring Boot são estruturas de microsserviços Java populares.

O Spring Boot é uma plataforma de desenvolvimento de aplicativos opinativa construída usando a estrutura Spring que é usada para desenvolver aplicativos da Web Java. Ao mesmo tempo, é personalizável e você pode configurá-lo com base em suas necessidades. Aspectos básicos do tutorial do Spring Cloud serão discutidos neste blog.

Microsserviços usando Spring Boot e Spring Cloud

Este tutorial do Spring Cloud fornece uma visão geral básica da criação de um aplicativo de microsserviços simples usando Spring Boot e Spring Cloud. Além disso, o tutorial fornece links para documentação relevante que o ajudará a atingir suas metas de aprendizado. Você precisará fazer o seguinte:

1. Crie um novo serviço usando o Spring Boot usando o Spring Initializer

De acordo com o tutorial do Spring Cloud, o primeiro passo é criar uma estrutura de projeto usando o Spring Initializer. O inicializador fornece uma maneira rápida de adicionar todas as dependências necessárias para seu projeto. Por exemplo, você pode escolher o projeto Maven, Java e Spring Boot versão 2.0.0. Os projetos Maven exigem um ID de grupo e um ID de artefato, semelhante ao pacote e classe em Java.

Você também precisará escolher dependências, por exemplo, Web (para começar a desenvolver aplicativos da Web), DevTools (facilita o desenvolvimento de aplicativos), Actuator (para monitorar o aplicativo) e Config Client (para conectar o aplicativo ao Spring Config servidor). Depois de selecionar todas as opções, você gerará o projeto. Para saber mais, consulte Iniciando com Spring Initializer no recurso Construindo um Serviço Web RESTful . Consulte Spring Data JPA para saber como se conectar ao banco de dados.

2. Garantir a nomenclatura e descoberta do serviço

Todos os microsserviços precisam ser registrados para descobrir quando outro serviço na arquitetura está procurando por eles. Por exemplo, um serviço específico pode querer localizar todas as instâncias de outro serviço em execução novamente em um ambiente específico. Neste tutorial de spring cloud , você aprenderá que o servidor de nomes armazena as informações sobre todos os serviços e suas instâncias e fornece as informações para quem as procura. Assim, auxilia no processo de descoberta de serviços. Para saber mais sobre registro e descoberta de serviços, consulte Registro e descoberta de microsserviços com Spring Cloud e Eureka da Netflix .

Leia: Projetos e tópicos do Spring Boot

3. Invocar outros microsserviços

Com o Spring Cloud, várias chamadas devem ser feitas para outros componentes e serviços. Isso é obtido usando o Feign, que elimina a complexidade do processo, permitindo que você escreva clientes de serviços da Web com mais facilidade. Para saber mais, consulte Spring Cloud Open Feign .

4. Garanta o balanceamento de carga

De acordo com este tutorial de nuvem da primavera, o Feign também fornece integração com o Ribbon, uma estrutura de balanceamento de carga do lado do cliente. A Faixa de Opções ajuda a usar a configuração do Feign para distribuir chamadas e equilibrá-las entre todas as instâncias de um serviço com o qual outro serviço deseja se conectar. Consulte Balanceamento de carga do lado do cliente com Ribbon e Spring Cloud para saber mais.

5. Gerencie a configuração de microsserviços centralmente usando o Spring Cloud Config Server

De acordo com este tutorial de nuvem da primavera , um aplicativo usa vários microsserviços, vários ambientes para esses microsserviços e também várias instâncias desses serviços em execução nos ambientes. O Spring Configuration Server fornece um local centralizado para armazenar as informações de configuração relacionadas a todas essas instâncias de microsserviços.

Como resultado, essa configuração está disponível em um só lugar e deve ser usada por qualquer serviço na arquitetura. Para gerenciar a configuração centralmente, você definirá as propriedades relacionadas a um novo serviço e, em seguida, conectará o servidor Spring Config associado usando o Git como repositório de código. Para saber mais, consulte a documentação Visão geral do Spring Config . Para saber como conectar o Spring Config ao Git, consulte Spring Cloud Config .

Leia também: Salário de desenvolvedor de primavera na Índia

6. Estabeleça a segurança com o Spring Cloud

Em uma arquitetura de microsserviços, onde centenas de microsserviços trabalham juntos, é essencial ter verificações de autenticação e autorização. Além da segurança, há considerações como métricas, limites e assim por diante. Um API Gateway possibilita a implementação de recursos comuns a todos os serviços.

Por exemplo, o Zuul Server é um aplicativo API Gateway que lida com solicitações e executa roteamento dinâmico de aplicativos de microsserviços. Consulte o Spring Cloud Gateway para saber mais neste tutorial do Spring Cloud .

7. Ative a tolerância a falhas

Uma consideração importante ao implementar microsserviços é que, se um componente parar de funcionar, todo o aplicativo poderá parar. A estrutura do Hystrix ajuda a criar microsserviços tolerantes a falhas, usando os quais você pode atualizar normalmente a funcionalidade quando uma chamada de método falha. Isso permite que um microsserviço continue operando quando um serviço relacionado falha, evitando que a falha seja em cascata e dando tempo de recuperação ao serviço com falha.

Confira: Explicação do Ciclo de Vida do Spring Bean

Conclusão

Espero que este tutorial do Spring Cloud sirva como um ponto de partida essencial para você começar.

Se você estiver interessado em saber mais sobre o Spring Cloud, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, IIIT -B Status de ex-aluno, projetos práticos práticos e assistência de trabalho com as principais empresas.

Aterre no seu emprego dos sonhos

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM DESENVOLVIMENTO DE SOFTWARE
Aplique agora