Por que precisamos de corretores de mensagens como o RabbitMQ em um banco de dados como o PostgreSQL?
Eu sou novo para os corretores de mensagens comoRabbitMQ que podemos usar para criar tarefas / filas de mensagens para um sistema de agendamento comoAipo.
Agora, aqui está a pergunta:
Eu posso criar uma mesa emPostgreSQL que pode ser acrescentado com novas tarefas e consumido pelo programa consumidor como aipo.
Por que diabos eu iria querer configurar uma nova tecnologia para isso, como o RabbitMQ?
Agora, acredito que o escalonamento não possa ser a resposta, já que nosso banco de dados, como o PostgreSQL, pode funcionar em um ambiente distribuído.
Eu pesquisei quais problemas o banco de dados representa para o problema em questão e descobri:
polling mantém o banco de dados ocupado e baixo desempenhobloqueio da mesa -> novamente baixo desempenhomilhões de linhas de tarefas -> novamente, a pesquisa é de baixo desempenhoAgora, como o RabbitMQ ou qualquer outro intermediário de mensagens como esse resolve esses problemas?
Além disso, descobri queAMQP
protocolo é o que segue. O que é ótimo nisso?
podeRedis também pode ser usado como um corretor de mensagens? Eu acho mais análogo ao Memcached do que ao RabbitMQ.
Por favor, derramar alguma luz sobre isso!