River - fila de jobs rápida e robusta para Go + Postgres
(brandur.org)- Recomenda usar o mesmo banco de dados (Postgres) para os dados da aplicação e para a fila de jobs. Dependências mínimas
- É possível evitar toda uma classe de problemas em sistemas distribuídos ao colocar jobs na fila de forma transacional junto com outras alterações no banco de dados
- Enfileiramento transacional: os jobs entram na fila quando a transação é confirmada, são removidos quando a transação sofre rollback e é garantido que não fiquem visíveis até o commit
- Aproveitando o recurso
NOTIFYdo Postgres, a fila pode acordar os workers assim que um job estiver pronto para começar, reduzindo a latência média antes do início do processamento para a casa dos milissegundos - Usa o protocolo binário do Postgres e minimiza os round trips com o banco de dados para aumentar a eficiência
- A inserção em massa de jobs é feita de forma eficiente com
COPY FROM
- A inserção em massa de jobs é feita de forma eficiente com
Ainda não há comentários.