Archive of posts with category 'engineering'

System Design - Scale Cube

Texto extra da série de System Design. Esse texto foi resultado de uma revisão bibliográfica - não cientifica - que fiz para arquivo pessoal.

System Design - Testes de Carga e Estresse

Artigo extra escrito para a aula ao vivo sobre testes de performance da turma de Arquitetura de Containers na AWS.

System Design - Replicação de Dados

Neste capítulo da nossa série de System Design, vamos explorar os conceitos de escalabilidade de aplicações críticas, com foco especial na replicação de dados. Este tema está diretamente relacionado ao...

System Design - Sharding e Particionamento de Dados

Esse é mais um capitulo da nossa série de System Design, e novamente vamos abordar assuntos delicados relacionados a escalabilidade, focando em assuntos críticos como dados. Dessa vez, iremos nos...

System Design - CQRS (Command Query Responsability Segregation)

Esse capítulo tem o objetivo de adicionar mais algumas estratégias para lidar com dados em sistemas modernos à sua caixa de ferramentas, sendo esses sistemas distribuídos ou não. A necessidade...

System Design - API Gateways

O objetivo deste capítulo é aproveitar as jornadas de protocolos de rede, balanceadores de carga, padrões de comunicações síncronos, monolitos e microserviços para analisarmos os API Gateways. Ter a oportunidade...

System Design - Mensageria, Eventos, Streaming e Arquitetura Assincrona

Arquiteturas assíncronas derivadas do uso de mensageria e eventos são recursos muito valiosos quando arquitetamos soluções complexas de sistemas distribuídos. Assim como os dois capítulos anteriores, onde falamos sobre protocolos...

System Design - Padrões de Comunicação Síncronos

Este texto é uma continuação direta do capitulo onde falamos sobre Protocolos e Comunicação de Redes. A ideia é seguir com os conceitos direcionados anteriormente para aplicá-los em diferentes tipos...

System Design - Protocolos e Comunicação de Rede

Neste capítulo, abordaremos de forma simplificada os conceitos essenciais dos principais tópicos de comunicação de rede sob a perspectiva de System Design. Compreender os protocolos de comunicação é de extremo...

System Design - Cache

Neste artigo, vamos abordar conceitos de cacheamento, ou caching, sob a ótica de System Design. À medida que exploramos as possibilidades de uso do caching, é fundamental compreender que, embora...

System Design - Performance, Capacidade e Escalabilidade

Esse é mais um artigo da série sobre System Design. Nele, vamos abordar três tópicos: Capacidade, Performance e Escalabilidade (não necessariamente nessa ordem), sempre com uma perspectiva conceitual de System...

System Design - Microsserviços, Monolitos e Domínios

Este é o quarto artigo da série sobre System Design, e estou muito satisfeito com a direção que este material está tomando. Analisando o artigo depois de finalizado, acho sinceramente...

System Design - Load Balancers e Proxies Reversos

Este é o terceiro artigo da série sobre System Design. Hoje, vamos dar um deep dive em um tópico interessante e frequentemente subestimado: os Balanceadores de Carga e os Proxies...

System Design - Teorema CAP, ACID, BASE e Bancos de Dados Distribuídos

Esse é mais um artigo da série de System Design, que está se mostrando extremamente prazerosa de escrever. Tem sido muito gratificante me desafiar a entender temas densos e complexos...

System Design - Paralelismo, Concorrência e Multithreading

Este artigo é o primeiro de uma série sobre System Design. Esta série tem como objetivo explicar conceitos complexos de programação de maneira simples e objetiva para todos os tipos...