Entrelinhas do Código

034 - Atores e Processos, concorrência sem Estado Compartilhado - The Pragmatic Programmer


Listen Later

🎧 Entrelinhas do Código: Desvendando Atores e Processos – Concorrência Sem Dores de Cabeça! 🚀Prepare-se para uma imersão profunda no Tópico 35 do aclamado "The Pragmatic Programmer": "Atores e Processos"! Em um cenário de software onde concorrência e paralelismo são mais do que tendências – são requisitos básicos – este episódio é seu guia para construir sistemas que se adaptam e lidam com responsabilidade.Diga adeus às abordagens tradicionais de concorrência baseadas em estado compartilhado, que são uma fonte constante de bugs e dores de cabeça! 🤕 Vamos desvendar a poderosa filosofia do Modelo de Atores como uma alternativa mais gerenciável.Neste episódio, você descobrirá que:• Cada ator é um processador virtual independente 🤖, com seu próprio estado local e privado, e uma caixa de correio para mensagens.• A comunicação é exclusivamente por mensagens unidirecionais e assíncronas 📩, eliminando a necessidade de chamadas diretas ou inspeção do estado interno de outros atores.• Um ator processa cada mensagem até a conclusão, uma por vez e sem interrupções 🎯 – o que chamamos de processamento sequencial.• A grande sacada: atores não compartilham nada! 🎉 Isso simplifica a concorrência ao extremo, pois você não precisa escrever código explícito para gerenciá-la, já que não há estado compartilhado para proteger.Aprenda como essa abordagem descentralizada promove desacoplamento inerente (Tópico 28) 🔗, facilita a escalabilidade em diferentes infraestruturas (um núcleo, múltiplos núcleos ou múltiplas máquinas em rede), e constrói sistemas de alta resiliência e tolerância a falhas.Exploraremos o exemplo notável de Erlang 🧡, um pioneiro do modelo de atores, que demonstra milhões de "processos" leves comunicando-se por mensagens, com supervisão para reiniciar falhas e a capacidade de hot-code loading para atualizações sem parar o sistema.Usamos a prática analogia do restaurante 🍽️ com Cliente, Garçom e Balcão de Tortas para ilustrar a comunicação assíncrona e o estado local em ação.E não paramos por aí! Conectamos o Modelo de Atores com outros pilares pragmáticos:• Programação Transformacional (Tópico 30): Atores como etapas de um pipeline de dados 🔄.• Shared State Is Incorrect State (Tópico 34): Atores como a solução definitiva para os perigos do estado compartilhado 🚫.• Quadros Negros (Tópico 36): Como sistemas de mensageria modernos podem suportar a concorrência e o desacoplamento dos atores ✍️.Preparamos você para os desafios propostos pelo livro: reescrever código com exclusão mútua usando atores e estender o exemplo do restaurante para "torta à moda" 🍦.Sintonize em "Entrelinhas do Código" para transformar sua mentalidade de programação e aprender a construir sistemas que podem "dobrar, mas não quebrar"! 💪Aperte o play e eleve o nível do seu desenvolvimento! 🚀

...more
View all episodesView all episodes
Download on the App Store

Entrelinhas do CódigoBy Tiago de Abreu