- Un service Drop-in capable de remplacer SQS tel quel, qui améliore fortement l’expérience développeur
- Fournit une UI fonctionnelle, de la visibilité, du traçage, la planification des messages et la limitation de débit
- Permet d’exécuter une instance SQS privée sur n’importe quel cloud
- Déployé sous la forme d’un binaire Go unique, utilisable avec les clients SQS existants
- L’UI s’exécute sur
:3000, le serveur compatible SQS sur :3001
- Compatible avec les clients SQS de tous les langages
- Python
-
import boto3
# Il suffit de changer endpoint_url
sqs = boto3.client("sqs", ..., endpoint_url="http://localhost:3001")
sqs.send_message(QueueUrl="...", MessageBody="hello world")
- Fonctionne aussi sans problème avec Celery
-
app = Celery("tasks", broker_url="sqs://...@localhost:3001")
L’avis de GN⁺
- SmoothMQ étend les fonctionnalités de SQS pour offrir une meilleure expérience aux développeurs
- La possibilité d’exécuter une instance privée sans dépendre d’un cloud donné offre une grande flexibilité
- Le fait de pouvoir réutiliser les clients SQS existants réduit le coût de migration
- L’UI permet de gérer facilement les files et les messages, ce qui améliore l’efficacité opérationnelle
- Lors de l’introduction d’une nouvelle technologie, il faut examiner attentivement la compatibilité avec les systèmes existants
3 commentaires
SQLite et Postgres seront probablement encore utilisés dans 10 ans. J’avais l’impression que ce serait aussi le cas de Redis, mais ces derniers temps, je ne sais plus trop.
De nos jours, qu’est-ce qu’on utilise à la place de Redis ?
Commentaires sur Hacker News
L’idée de rendre les technologies k8s, kubernetes, cloud native, self-hosted et edge-enabled accessibles à faible coût est excellente
rqetminiosur k8s pendant plusieurs années, et récemment je m’intéresse à SQLite comme solution de remplacementSQLite fonctionne sur un seul serveur et, même si cela marche dans la plupart des cas, ce n’est pas fiable à 100 %
Indépendamment de l’échelle et des benchmarks, c’est un outil utile pour les modules de test fonctionnel/unitaire qui utilisent SQS
Le projet vise un système de file d’attente hébergé, moins cher que SQS sans sacrifier les performances
Aime écrire des services compatibles avec les API AWS et mentionne le projet Dyna53
Avec LocalStack, on peut utiliser SQS et de nombreux services AWS pour les tests/le développement ; c’est bien documenté et open source
Aime les projets qui créent des alternatives simples à auto-héberger pour des services populaires
Suggestion rapide concernant la structure du projet :
models/vers le répertoire racineq.Messageetq.Queue, tout en évitant les conflits de nom si l’utilisateur possède son propre packagemodelsMentionne ElasticMQ, utilisé pour simuler SQS dans un environnement Docker
Demande pourquoi la prise en charge des clés étrangères est désactivée tout en restant utilisée dans le schéma de base de données
TODO: check for errorset les parties qui semblent désactiver la vérification des contraintes de clé étrangère donnent hésiter à essayer le projet