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 desempenho

Agora, 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!

questionAnswers(2)

yourAnswerToTheQuestion