评分 7 · 来源:Simon Willison · 发布于 2026-04-24
评分依据:Honker 为 SQLite 实现 Postgres NOTIFY/LISTEN 语义,Rust 扩展 + 多语言绑定。架构设计精巧,对 SQLite 生态有实际价值。
Honker 为 SQLite 实现了 Postgres 的 NOTIFY/LISTEN 语义,以 Rust SQLite 扩展形式实现,并提供多语言绑定。
设计亮点
队列语义
import honker
db = honker.open("app.db")
emails = db.queue("emails")
emails.enqueue({"to": "alice@example.com"})
# 消费(worker 进程中)
async for job in emails.claim("worker-1"):
send(job.payload)
job.ack()
Kafka 风格流式处理
stream = db.stream("user-events")
with db.transaction() as tx:
# ...
技术特点
- 设计非常精巧,充分利用 SQLite 的扩展机制
- 提供了从 Python 等语言使用 pub/sub 模式的简洁 API
- 使 SQLite 可以在轻量级场景下替代 Redis/Postgres 做消息队列
对于需要在嵌入式或轻量级环境中实现消息传递的应用来说,这是一个实用的工具。