# data[].attributes.attachment_link.readable_text
Neste artigo, será abordado sobre a tecnologia Netflix Eureka que facilita a comunicação e descoberta de serviços em uma arquitetura de microservices.
Hoje em dia, cada vez mais as empresas estão aderindo a arquitetura de microservices ao invés da tradicional arquitetura monolítica para construção de aplicações, pois os microservices oferecem muitos benefícios quanto a manutenção, escalabilidade, disponibilidade, entre outros. Mas também há alguns desafios que devem ser considerados quando se trabalha com esse tipo de arquitetura, como por exemplo, se um determinado microservice depende da chamada de outro, basta utilizarmos um RestTemplate por exemplo, passando o host e port e enviar uma requisição via REST para tal microservice. Mas imagine se esse microservice que receberá a chamada tiver escalonado horizontalmente com várias instancias, cada uma com sua porta e host específicos. Isso seria um grande problema, pois com toda essa dinamização seria muito difícil manter esses endereços individuais e a manutenção seria bem complicada.

Para resolver esse problema, em casos de aplicações escaláveis e distribuídas, pode-se utilizar de recursos em que se registram e descobrem serviços, a fim de controlar toda essa dinamização. O Netflix Eureka é um módulo do Netflix OSS, o qual permite com que serviços sejam registrados através do Eureka Server e descobertos através do Eureka Client, facilitando esse controle de aplicação distribuída.

Para exemplificar, imagine o seguinte cenário, em que há dois microservices, o primeiro sendo de Controle de Nota e o segundo, Controle de Aluno. O serviço de Controle de Nota precisa enviar uma requisição via REST para o serviço Controle de Aluno, a fim de obter os dados complementares de um determinado aluno como endereço e email por exemplo, e então, devolver a resposta para o cliente com as notas do aluno e também seus dados complementares.

Exemplo da requisição interna entre dois microservices

Para essa requisição interna entre os dois serviços, o serviço Controle de Nota terá que saber qual o endereço para enviar uma requisição ao serviço Controle de Aluno, ou seja, qual o host e porta desse microservice.

Para que o serviço Controle de Aluno seja descoberto pelo serviço Controle de Nota, é preciso criar uma aplicação Eureka Server que atua como um Service Registry e permite que outras aplicações (serviços) registrem todas suas instancias. Esse Eureka Server controla todas as instancias registradas, assim como seus respectivos endereços (host e porta), sempre mantendo atualizado as instancias em execução, monitorando quando um serviço registrado está disponível ou não.

Então, é preciso registrar os serviços Controle de Nota e Controle de Aluno na aplicação Eureka Server, para que ela monitore os endereços de suas instancias dinamicamente.

Serviços se registrando no Eureka Server

Para que o serviço Controle de Nota descubra outro serviço através do Eureka, este precisa se tornar um Eureka Client, ou seja, se registrar no Eureka Server para ter uma ligação onde irá buscar pelos serviços a serem descobertos. Assim, antes de enviar a requisição para o Controle de Aluno, o serviço Controle de Nota irá descobrir o serviço no Eureka Server informando apenas o nome desse serviço que deseja e então, o Eureka Server disponibilizará o endereço correto de uma instancia de Controle de Aluno disponível para que seja feito tal requisição.

Assim, independente do número de instancias de Controle de Aluno em execução, apenas informando o nome do serviço ao Eureka Server, o Eureka Client irá obter o endereço correto para enviar as requisições necessárias.

Exemplo do serviço Controle de Nota descobrindo o serviço Controle de Aluno através do Eureka Server

Dessa maneira, fica muito fácil trabalhar e monitorar os microservices, sem contar que em casos da alteração de endereço de algum serviço, tudo será feito dinamicamente, pois o Eureka Server monitora essa alteração e disponibiliza para seus Eureka Clients os endereços corretos, sem precisar refatorar códigos e alterar urls.

No próximo artigo, será abordado como utilizar o Eureka Netflix em aplicações Spring Boot, utilizando o Spring Cloud Netflix, biblioteca que oferece integrações do Netflix OSS para aplicações Spring.

# data[].attributes.attachment_link.title
Netflix Eureka - comunicação entre microservices

# data[].attributes.attachment_link.description
Neste artigo, será abordado sobre a tecnologia Netflix Eureka que facilita a comunicação e descoberta de serviços em uma arquitetura de microservices. Hoje em dia, cada vez mais as empresas estão aderindo a arquitetura de microservices ao invés da tradicional arquitetura monolítica para construção de aplicações, pois os microservices oferecem muitos benefícios quanto a manutenção, escalabilidade, disponibilidade, entre outros.

# data[].attributes.body
https://codigo35.com/2016/01/02/microservicos/

# data[].attributes.attachment_link.title
Microsserviços, por Martin Fowler e James Lewis

# data[].attributes.attachment_link.description
O texto abaixo é a uma tradução do artigo escrito por Martin Fowler e James Lewis. Para acessar a versão original em inglês, clique aqui. Caso tenha sugestões para tornar a tradução melhor, compartilhe através da seção de comentários no final da página. "Microsserviços" - um novo nome nas populosas ruas da arquitetura de software.

# data[].attributes.attachment_caption
URI: Universal Resource Identifier - Identificador Universal de Recurso

# data[].attributes.body
http://www.nce.ufrj.br/ginape/cursohtml/conteudo/ligacoes/uri.htm

# data[].attributes.attachment_link.readable_text
Qualquer recurso disponível na Web - documento HTML, imagem, vídeo, programa etc. - tem que ter um endereço único para que seja possível encontrá-lo de qualquer lugar do mundo. Este endereço é denominado URI (Universal Resource Identifier - Identificador Universal de Recurso). Para fazer uma ligação para uma outra página HTML será preciso referenciar o endereço URI desta outra página.

Muitos leitores podem estar familiarizados com o termo URL (Universal Resorce Locator - Localizador Uniforme de Recurso) ao invés do termo URI. URL é um subconjunto de endereçamento URI. Em outras palavras, o esquema de endereçamento URI é mais abrangente do que o endereçamento URL.

Observe este exemplo de endereço URI:

Este endereço URI deve ser compreendido como: O documento "home.html" (que é um arquivo HTML) encontra-se disponível através do protocolo HTTP, residente no domínio "www.nce.ufrj.br", acessível através do diretório "/cursos/htmlbasico/".

Um endereço URI é tipicamente composto por três partes:

1. O protocolo utilizado para acessar o recurso ("http://");

2. O domínio (o endereço do computador servidor, a máquina que hospeda o recurso);

3. O caminho para o recurso propriamente dito (= diretório + arquivo).

Em alguns casos, contudo, é possível explicitar somente o caminho para o recurso (sem especificar o protocolo nem o domínio). Este é o assunto da próxima seção - Endereço absoluto x relativo.

HTTP significa "HiperText Transfer Protocol" (Protocolo de Transferência de HiperTexto). Este é o protocolo utilizado para acessar páginas HTML.

HTML Básico

Cursos NCE a Distância - NCE - UFRJ

# data[].attributes.attachment_link.description
Qualquer recurso disponível na Web - documento HTML, imagem, vídeo, programa etc. - tem que ter um endereço único para que seja possível encontrá-lo de qualquer lugar do mundo. Este endereço é denominado URI (Universal Resource Identifier - Identificador Universal de Recurso). Para fazer…

# data[].attributes.body
GitBash
git clone + link do repositótio do GitHub
git add .
git commi t-m "nome da mudança"
git push origin main

No VSCode

git init: para inicializar o projeto dentro da pasta.
ls: para ver os aquivos.
ls -la: para ver tudo, inclusive arquivos ocultos.
git add nomedoarquivo
git status
git commit -m "Para escrever uma mensagem na branch"

#Comandos para a configuração do git

git config --global user.name "Larissa"
git config --global user.email larissa@email

# data[].attributes.body
cd

# data[].attributes.body
Spring boot dev tools
Spring web
Spring data JPA
Validation
My SqlDriver

# data[].attributes.body
200+ : o que foi mandado foi aceito! "201: sucesso"

400+: é erro de cliente, o que vc tá pedindo não está sendo encontrado, erro frontEND!

500+: api é erro no nosso servidor!

# data[].attributes.attachment_link.description
An API for the awesome HTTP Cats! Use it in your website to show funny error messages.

# data[].attributes.attachment_link.title
Prova Java  Jr - Tokyo Marine - Gestor Cristovão (1).DOCX