A industria tem feito um marketing agressivo em favor de arquiteturas complexas e muito caras, incluindo microsserviços, brokers de mensageria e bancos NoSQL. Para isso, arquiteturas mais simples e, na maioria das vezes suficientes, tornaram-se os vilões para muitas empresas e profissionais, como monolitos e bancos de dados relacionais. Infelizmente, esse último, há mais de 1 decada tem sido vendido apenas como um simples repositório de dados limitado que não permite escalar para milhões de usuários ou dezenas de milhares de requisições.
Essas falácias sobre bancos relacionais precisam acabar, por esse motivo, nessa talk pretendo apresentar como podemos integrar sistemas e serviços sem abrir mão do mundo relacional, tudo isso na perspectiva de um desenvolvedor(a) de software. Em vez de todo um alto custo e complexidade na adoção de Kafka ou RabbitMQ para implementar mensageria em sistemas, nós abraçaremos recursos nativos do próprio PostgreSQL para implementar troca de eventos via fila de mensagens e comunicação Pub/Sub de forma simples, confiável e escalável.
Você vai se surpreender como esses tipos de soluções de mensageria podem ser resolvidos com algumas linhas de SQL, locking distribuído e algum conhecimento sobre as features oferecidas pelo seu banco de dados relacional. No fim, você vai perceber como PostgreSQL é mais do que um repositório de dados, é uma engine completa e robusta de concorrência.
(GRAVAÇÃO: https://www.youtube.com/watch?v=FF6Am0N6eq4&t=840s&ab_channel=Zup)