No cenário em constante evolução da tecnologia, a gestão eficaz de sistemas de software é fundamental para o sucesso de qualquer organização. No entanto, um desafio persistente que muitas empresas enfrentam é o surgimento de software legado, sistemas desatualizados e difíceis de manter que podem prejudicar a agilidade e a competitividade. À medida que as empresas buscam inovação e eficiência,
Read moreLatest Posts
Desvendando o Padrão Outbox: Melhorando a Consistência e a Escalabilidade em Sistemas Distribuídos
Com o crescente uso de sistemas distribuídos para construir aplicações complexas e escaláveis, surgem diversos desafios relacionados à consistência de dados e à coordenação entre os componentes. O padrão “Outbox” (ou “Caixa de Saída”) tem ganhado popularidade como uma solução elegante para resolver esses problemas. Vamos supor que você esteja construindo um sistema distribuído baseado em filas, o que acontece
Read moreServer Sent Events!
Você meu caro desenvolvedor, já pegou uma demanda onde precisa efetuar uma chamada ao backend porém já sabe com antecedência que essa requisição pode demorar muito, o que fazer nesse caso? Fazer a chamada normalmente, colocar um “loading” na tela do cliente e deixar lá até que aconteça a resposta do servidor e mostrar o resultado? Não é uma boa
Read moreADR – Architecture Decision Records
Vamos entender neste artigo o que são os ADR´s ou architecture decision records ou em pt-br registros de decisão de arquitetura. Quando você entra em um projeto provavelmente algumas perguntas virão a sua cabeça e uma delas provalvelmente é o porquê uma determinada solução tecnológica foi aplicada. E não será dificil voce obter como resposta “ninguém sabe explicar o motivo“.
Read moreVamos implementar o Circuit Breaker Pattern
Vou tentar explicar neste artigo um dos principais padrões de projetos utilizados em arquitetura de microservices, o circuit breaker. Ficou um pouco extenso o artigo, mas o objetivo é deixar bem claro como funciona o padrão, navegue pelo menu abaixo para facilitar o entendimento do artigo. Definição O “Circuit Breaker” é um padrão de projeto no qual você tenta uma
Read moreOverview sobre EDA – Arquitetura Orientada a Eventos.
Já ouviram falar sobre EDA ou Arquitetura Orientada a Eventos (Event driven architecture) ?? Vamos nesse artigo passar por alguns conceitos e ver um exemplo prático para fixação. Conceitos da Arquitetura Orientada a Eventos – EDA Trata-se de um padrão de design arquitetural assíncrono e distribuído. Usamos EDA para produzir aplicações altamente escaláveis e de alta performance, é uma arquitetura
Read moreC# – Controle suas tasks usando o SemaphoreSlim -Dica
Neste artigo, veremos como executar tarefas em paralelo e aprenderemos a usar a classe SemaphoreSlim para ajudar a controlar a execução de nossas tarefas. É muito comum hoje em dia criarmos métodos assíncronos que recebem varias requisições ao mesmo tempo, mas imagine uma situação onde você teria que garantir que somente uma task executasse dentro do seu método por vez?
Read moreConhecendo o protocolo OData
Vamos falar nesse artigo sobre mais uma “ferramenta” que deve ser considerada em seus projetos. O OData (Open Data Protocol) é um padrão OASIS (Organization for the Advancement of Structured Information Standards), que define um conjunto aprovado pela ISO/IEC que rege um conjunto de melhores práticas para construir e consumir APIs RESTful. Basicamente o protocolo OData inclui em sua API
Read moreAprenda o GraphQL de forma simples e direta – Parte 2
Vamos a segunda parte do meu artigo sobre GraphQL, se não viu a primeira parte corre lá neste link. No primeiro artigo da série, construimos uma aplicação bem básica e entramos no mundo do GraphQL entendendo como a tecnologia funciona e efetuando queries. É um artigo bem extenso e com bastante informação bacana. Então se ainda não leu sugiro que
Read moreAprenda o GraphQL de forma simples e direta
Vou tentar passar neste artigo uma visão simples sobre o GraphQL, tenho ouvido bastante sobre essa tecnologia e resolvi estudar um pouco e escrever também a fim de ajudar quem esteja procurando mais informações para implementar a ferramenta de forma bem básica. Para isso vou escrever um pouco sobre definições e pontos conceituais importantes e também construir uma aplicação simples
Read more