Como funciona
Uma mensagem é só um objeto PHP. Quando ela é despachada no bus,
o Messenger consulta o roteamento e entrega ao transport certo — aqui, um
transport customizado que fala o protocolo binário do Pulsar (porta 6650). Do outro lado,
um consumidor puxa a mensagem do tópico, processa e confirma (ack).
bus.dispatch()acme/pedidos
ackTópico: persistent://acme/pedidos/test-mensageria
1. Produzir
Publica N mensagens no tópico. Equivale a make produzir.
2. Consumir
Puxa do tópico, processa e confirma (ack). Equivale ao worker make consumir.
Estado do tópico (ao vivo)
Lido da API de administração do Pulsar (/admin/v2/.../stats). Atualiza a cada 2s.
💡 Experimente: clique em Produzir e veja o backlog subir. Depois clique em Consumir e veja ele zerar — as mensagens saem da fila conforme são confirmadas.
Por baixo dos panos
- Transport customizado:
src/Transport/Pulsar/(não existe transport Pulsar oficial pro Messenger). - Cliente:
ikilobyte/pulsar-client-phpfalandopulsar://app:6650. - Serialização: corpo em JSON, headers viram properties da mensagem Pulsar.
- Dead-letter: falhas vão para o namespace
acme/falhas. - Tudo isto roda igual no console:
make produzir/make consumir. Detalhes noREADME.md.