- Um serviço drop-in que pode substituir o SQS diretamente, melhorando bastante a experiência do desenvolvedor
- Oferece UI funcional, visibilidade, rastreamento, agendamento de mensagens e limitação de taxa
- É possível executar uma instância privada de SQS em qualquer nuvem
- É distribuído como um único binário Go e pode ser usado com clientes SQS existentes
- A UI roda em
:3000, e o servidor compatível com SQS roda em :3001
- Compatível com clientes SQS de todas as linguagens
- Python
-
import boto3
# basta mudar apenas o endpoint_url
sqs = boto3.client("sqs", ..., endpoint_url="http://localhost:3001")
sqs.send_message(QueueUrl="...", MessageBody="hello world")
- Também funciona perfeitamente com Celery
-
app = Celery("tasks", broker_url="sqs://...@localhost:3001")
Opinião do GN⁺
- O SmoothMQ expande os recursos do SQS e oferece uma experiência melhor para desenvolvedores
- Como é possível executar uma instância privada sem depender de uma nuvem específica, ele oferece alta flexibilidade
- Como os clientes SQS existentes podem ser usados sem alterações, o custo de migração é baixo
- A UI facilita o gerenciamento de filas e mensagens, aumentando a eficiência operacional
- Ao adotar uma nova tecnologia, é preciso considerar cuidadosamente a compatibilidade com os sistemas existentes
3 comentários
Parece que SQLite e Postgres ainda vão ser usados daqui a 10 anos. Eu achava que o mesmo valeria para o Redis, mas hoje em dia já não sei.
Hoje em dia, o que estão usando no lugar do Redis?
Opiniões no Hacker News
A ideia de permitir o uso barato de tecnologias como k8s, kubernetes, cloud native, self-hosted e edge-enabled é excelente
Aponta que o SQLite roda em um único servidor e, embora funcione na maioria dos casos, não é 100% confiável
Tirando a questão de escala e benchmarks, é uma ferramenta útil para módulos de teste funcional/unitário que usam SQS
O objetivo é criar um sistema de filas hospedado, mais barato que o SQS sem sacrificar desempenho
Gosta de criar serviços compatíveis com a API da AWS e menciona o projeto Dyna53
Com o LocalStack, dá para usar o SQS e muitos serviços da AWS em testes/desenvolvimento; é bem documentado e open source
Gosta de projetos que criam alternativas simples de self-hosting para serviços populares
Sugestão rápida sobre a estrutura do projeto:
Menciona o ElasticMQ, que usa para simular o SQS em ambientes Docker
Pergunta por que o suporte a chaves estrangeiras está desativado, embora ainda seja usado no esquema do banco de dados