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

Anúncios

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

Criando proxy de APIs com Spring cloud, Zuul e Eureka

A partir do momento que passamos a usar uma abordagem de microserviços ou da separação do código monolito, começamos a enfrentar alguns desafios por lidarmos com diversas aplicações, um deles é trabalhar com as diferentes URLs das aplicações distribuídas, onde conforme a necessidade deve ser direcionado para aplicação correta. Uma das formas de minimizar esse … Continue lendo Criando proxy de APIs com Spring cloud, Zuul e Eureka

Melhorando performance do pool de conexões com Hikari

O gerenciamento de conexões nos bancos de dados relacionais é algo que começamos a ter preocupação conforme nossos sistemas começam a crescer, onde em cenário que não usamos servidores de aplicações (como: Jboss/Wildfly, Glassfish, Websphere), os frameworks são responsável por essa tarefa de abertura e fechamento das conexões. A diversos frameworks que disponibilizam funcionalidades para … Continue lendo Melhorando performance do pool de conexões com Hikari

RabbitMQ no Spring Boot

O RabbitMQ é um message broker que propicia facilidade, onde implantar cenários avançados de roteamento, balanceamento de carga ou filas de mensagens persistentes são feitos em poucas linhas de código. Por padrão o RabbitMQ utiliza o protocolo AMQP 0-9-1 para transição das suas mensagens, mas também tem suporte a outros protocolos como: STOMP, MQTT, AMQP … Continue lendo RabbitMQ no Spring Boot