Criando APIs Rest com Vert.x

O Vert.x é um lightweight que possibilita o desenvolvimento de aplicações reativas baseadas em JVM. Dentro da gama de módulos, nesse post vamos conhecer o módulo web do Vert.x para criação de APIs Rest. O módulo web foi inspirado no Express (NodeJs) e Sinatra (Ruby), onde foi desenhado para ser executado independente, sem a necessidade … Continue lendo Criando APIs Rest com Vert.x

Kafka no Spring Boot

O Apache Kafka é uma plataforma de streaming distribuído excelente para a troca de mensagem em alta escala, como por exemplo, em arquitetura orientada em eventos, um pouco mais sobre Kafka pode ser visto nesse outro post: Kafka. Como na maioria das tecnologias, também há dependências para facilitar a utilização do Kafka em aplicações Spring … Continue lendo Kafka no Spring Boot

Kafka

O Apache Kafka é uma plataforma de streaming distribuído que possui basicamente três objetivos: Publish e subscribe em fluxos de registros, armazenamento de fluxo de registros e processamento de fluxos conforme eles ocorrem. Com isso, o Kafka é uma boa alternativa de plataforma para uma arquitetura orientada a eventos. No Kafka, as mensagem são publicadas … Continue lendo Kafka

Cache distribuído com Redis no Spring Boot

Cache é uma das abordagens para otimizar acesso à dados dos sistemas, onde evitamos requisições repetitivas nas fontes originais dos dados, que geralmente são grandes estruturas, complexas e nem sempre performáticas, assim com cache, passamos a consultar locais mais otimizados, que provêm acessos rápidos através de chaves. Há diversas tecnologias de cache para utilizarmos nas … Continue lendo Cache distribuído com Redis no Spring Boot

Tracing distribuído com Spring Cloud Sleuth e Zipkin

A partir do momento que iniciamos a utilização de aplicações distribuídas em produção, como por exemplo em soluções com microserviços, alguns desafios começam a surgir, um deles é como coletar informações das comunicações entre as aplicações distribuídas, onde suas comunicações são remotas. As comunicações entre as aplicações podem ser feitas de diferentes formas: REST, SOAP, … Continue lendo Tracing distribuído com Spring Cloud Sleuth e Zipkin

Configurações distribuídas com Spring Cloud Config

Configurações de projetos se tornaram mais fáceis com o Spring Boot, que com o conceito de auto configuração ficam menos verbosas e centralizadas nos application.properties. Porém, como são configurações em arquivos isso acaba sendo um pouco repetitivo quando utilizadas em diversas aplicações e diversos ambientes, como na arquiteturas de microsserviços onde há várias aplicações, consequentemente … Continue lendo Configurações distribuídas com Spring Cloud Config

Clients dinâmicos com Feign e Eureka

O Feign é uma boa alternativa que o Netflix o criou com o propósito de implementar clients HTTPs em Java de forma fácil. Feign proporciona implementações com base em anotações, assim os mapeamentos para os clients HTTP são podem ser desenvolvidos baseados em interfaces, como demonstrado no exemplo abaixo: Feign.builder(): Instância o client do Feign … Continue lendo Clients dinâmicos com Feign e Eureka