Isolamento em aplicações

Em busca de aplicações mais escaláveis, flexíveis, tolerante a falhas e de fácil manutenção, uma das formas de atingir essas características é pensando em isolamento dentro das nossas aplicações, pois quando isolamos implementações, mais desacoplados nossas aplicações ficam, consequentemente essas características vão se tornando mais acessíveis. Baseado nisso, o princípio de isolamento define a importância … Continue lendo Isolamento em aplicações

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