
https://aws.amazon.com/blogs/networking-and-content-delivery/target-group-load-shedding-for-application-load-balancer/
https://netflixtechblog.com/keeping-netflix-reliable-using-prioritized-load-shedding-6cc827b02f94
O curso "Arquitetura de Software & Design de Sistemas Modernos" é uma jornada abrangente projetada para capacitar profissionais da tecnologia a dominar os princípios e padrões que sustentam sistemas de software robustos, escaláveis e de alta disponibilidade. Ideal para arquitetos de software, engenheiros de sistemas e desenvolvedores, este curso oferece uma sólida base sobre os patterns, cobrindo desde os fundamentos até técnicas avançadas de design e implementação.
Módulos e Conteúdo
Introdução / Vamos aquecer:
O curso começa com uma introdução ao treinamento, estabelecendo as expectativas e objetivos. Aborda os princípios de sucesso em arquiteturas de software e a importância do planejamento alinhado aos objetivos de negócio (OKRs).
Fundamentos de System Design e System Architecture:
Este módulo explora os fundamentos do design de sistemas, incluindo diversos tipos de arquitetura e a evolução das mesmas. Aborda tópicos como arquitetura em três camadas, sistemas stateless e stateful, monolitos versus microsserviços, e muito mais.
Padrões de Comunicação e Transações:
Foca em padrões essenciais para comunicação eficiente e transações, como Queues, PubSub, Event Driven Architectures (EDA), e diversos padrões de orquestração e coreografia.
Padrões de Armazenamento de Dados:
Explora técnicas de persistência de dados, incluindo Polyglot Persistence, Change Data Capture (CDC), e padrões de sharding e particionamento de banco de dados.
Padrões de Resiliência, Escalabilidade e Infraestrutura:
Aborda como projetar sistemas resilientes e escaláveis, utilizando patterns como Circuit Breaker, Retry, Service Mesh, e técnicas avançadas como Chaos Engineering.
Padrões de Design e Evolução de Aplicações:
Discute como evoluir e manter aplicações ao longo do tempo, utilizando patterns como Strangler Fig, Feature Toggles, e Anti-corruption Layer.
Padrões de Deployment:
Ensina estratégias de deployment eficientes e seguras, incluindo Blue-Green Deployment, Canary Release, e Shadow Deployment.