Vocês precisam saber disso Desenvolvedores 😨 😀
Durante o meu tempo como programador cometi muitos erros, aprendi muitas coisas, e umas das coisas que eu mais errei foi, tentar fazer tudo com meu código, tornando ele no maior exemplo de monolÃtico-bomba-relógio possÃvel.
Enquanto era um juninho inexperiente tentava fazer tudo somente com meu código, desde memoria, concorrência, tarefas simultâneas e o principal filas, por isso venho-lhe apresentar uma ferramenta incrÃvel para melhorar suas soluções:
RabbitMQ é uma sistema de mensageria que permite que diferentes sistemas distribuÃdos se comuniquem de maneira confiável. Ele usa o modelo de fila de mensagens, onde as mensagens são publicadas em uma fila e consumidas pelos consumidores. RabbitMQ é ótimo para lidar com picos de tráfego e garantir a confiabilidade das mensagens.
Exemplo real de uso 😀: para evitar que sua aplicação tenha que enviar milhares de e-mail simultâneos que sobrecarregariam ela, você pode colocar a ordem para enviar esse e-mail numa fila, para que um microserviço envie esse e-mail assim que ele conseguir da forma que ele aguenta
Fica minha dica para também olhares o Kafka e sobre sistemas orientado a eventos
Você falou dos prós do mensageria externa. Mas não falou dos contras e são muitos!
Ainda mais para projetos pequenos e médios! Que são 99% dos projetos.
Para boa parte dos projetos da pra usar um bom e velho banco de dados! Um exemplo aqui https://www.youtube.com/watch?v=jTLP5DrIocA
Ele esta usando o Postgres como mensageria! Mas da pra ser outros bancos de dados como MariaDB ou Mysql
Antes de partir para um RabbitMQ ou Kafka(que são ótimos) para alguns projetos onde toda uma equipe vai cuidar dele, da pra usar um banco de dados!