O documento apresenta os principais conceitos e benefícios da fila de mensagens RabbitMQ. O palestrante discute como o RabbitMQ permite a comunicação assíncrona entre sistemas através de publishers, queues e subscribers, e como exchanges e bindings direcionam as mensagens para as filas corretas. Ele também aborda os tipos de exchanges e a diferença entre persistência e durabilidade no RabbitMQ.
2. Daniel Archer
● Sou formado em Análise de Sistemas
● Desenvolvedor PHP há 7 anos
● Participante PHPRS
● Trabalho na KingHost
● Arqueiro nas horas vagas (ah, sério? sim sério)
Zend Certified PHP 5.5
3. Daniel Archer
● Sou formado em Análise de Sistemas
● Desenvolvedor PHP há 7 anos
● Participante PHPRS
● Trabalho na KingHost
● Arqueiro nas horas vagas (ah, sério? sim sério)
Zend Certified PHP 5.5
8. Motivos
Melhoria na performance, removendo
processos pesados da aplicação
Processamento Assíncrono
Comunicação entre servidores e
microsserviços
Transmitir Informações de X para Y
9. Motivos
Melhoria na performance, removendo
processos pesados da aplicação
Processamento Assíncrono
Possibilidade de escalar facilmente
processos com maior demanda
Escalabilidade
Comunicação entre servidores e
microsserviços
Transmitir Informações de X para Y
17. Principais Entidades
Faz a ligação entre os
Exchanges e as Filas
Bindings
Palavra chave que será
utilizada para roteamento
da Mensagem
Route Keys
Responsáveis por receber
as mensagens e enviar
para as filas
Exchanges
Local de armazenamento
das mensagens
Queues
Ref: https://www.cloudamqp.com/blog/2015-09-03-part4-rabbitmq-for-beginners-exchanges-routing-keys-bindings.html
41. Em disco ou em memoria?
Persistence vs Durability
42. Persistence vs Durability
Pode ser durável ou não.
Será deletada após restart do servidor
Fila (Queue)
Pode ser durável ou não.
Será deletado após restart do servidor
Exchange
Pode ser persistente (escrita em disco)
Mensagem
43.
44. A Mensagem deve ser Persistente
Estar em uma Fila Durável
Ligada a um Exchange Durável
Como garantir?
46. Mensageria
1. Fácil comunicação entre sistemas
2. RabbitMq não é o mais rápido, mas é
suficiente
3. Filas podem ser dinâmicas ou não
4. Vários consumers, várias linguagens
5. Exchange são roteadores, enviando
mensagens para várias filas/exchanges
6. Persistência de Mensagens vs performance
7. Call me Archer!