1. Show HN: Drop-in SQS replacement based on SQLite (github.com)
SmoothMQ: 基于 SQLite 的 SQS 即插即用替代品
SmoothMQ 是一个基于 SQLite 的 Amazon SQS(Simple Queue Service)即插即用替代品,旨在提供更平滑的开发者体验。它允许用户在任何云平台上运行私有 SQS 实例,并支持与现有 SQS 客户端的无缝集成。
主要功能
- UI 界面:提供功能完整的用户界面,用于管理队列和搜索单个消息。
- 可观测性与跟踪:内置可观测性和跟踪功能,便于监控消息流和系统状态。
- 消息调度:支持消息调度,允许用户设置消息的发送时间。
- 速率限制:具备速率限制功能,以控制消息处理速度,防止过载。
- 私有部署:可作为单一 Go 二进制文件部署,便于在任何环境中快速启动。
部署与运行
- SmoothMQ 以单一 Go 二进制文件形式部署,启动后会在端口
:3000上运行 UI 界面,在端口:3001上运行 SQS 兼容服务器。 - 用户无需修改现有 SQS 客户端配置,只需将端点 URL 更改为 SmoothMQ 服务器地址即可连接。
兼容性与使用示例
- 与任何语言和 SQS 客户端兼容,例如 Python 的
boto3和Celery。- Python 使用示例:
import boto3 sqs = boto3.client("sqs", endpoint_url="http://localhost:3001") sqs.send_message(QueueUrl="...", MessageBody="hello world") - Celery 集成:可直接作为消息代理使用,如
broker_url="sqs://...@localhost:3001"。
- Python 使用示例:
UI 功能
- 通过 UI 界面,用户可以轻松管理队列、查看消息详情,并搜索特定消息,提升了操作便捷性和调试效率。