Ask HN: What Is the SQLite of Queues?

I love how simple and lightweight sqlite is.

I'm looking for an open source queue solution with similar qualities. All I really want are topics/messages/publishers/subscribers. That's it.

I do not want to run ZooKeeper.

24 points | by dinobones 419 days ago

13 comments

  • illuminant 419 days ago
    https://github.com/yudhasubki/blockqueue

    Literally, the sqlite of queues.

  • deterministic 418 days ago
    SQLite is the SQLite of queues. Simply use a table per queue. And use your choice of SQL to implement the types of queues you want.
  • withinboredom 419 days ago
    beanstalkd might be what you are looking for. It's ancient but solid af. I know of systems still running today that use it. For something more modern, check out Nats—and if you are using Go, you can embed the server in your executable.
  • rl1987 418 days ago
    If you need them for IPC within same host then POSIX queues (see https://pubs.opengroup.org/onlinepubs/7908799/xsh/mqueue.h.h...) are a thing.

    Redis can be used as simple message queue as well.

  • ivanr 419 days ago
    Try NATS @ https://nats.io

    It's a single binary and can operate as a message bus, persistent queue, KV store, object store, provide services, and so on.

    • Zambyte 417 days ago
      I really like NATS, but it's worth noting that it's only really "the SQLite of queues" in the context of their Go client, which can embed a NATS server into an application.

      Otherwise I would really say it is more like the Postgres of queues (still great, but potentially not what OP is looking for)

  • ttymck 419 days ago
  • enjoyyourlife 418 days ago
    RabbitMQ
  • caprock 419 days ago
    • ttymck 419 days ago
      Notably not a persistent queue, correct?
  • yamumsahoe 419 days ago
    this is redis for me.
  • toast0 419 days ago
    /var/queue/
  • brudgers 419 days ago
    Serious engineering question:

    Will SQLite work for your application?

    I’m sure there are better solutions on paper and for performance under common workloads. But if SQLite is good enough for your use case, it’s good enough for your use case.

    It probably isnt. Good luck.

    • turtle_heck 418 days ago
      Was wondering this for OP as well, I've used a database as a queue for small projects in the past and it was fine.
  • kjlojpo 417 days ago
    [dead]
  • bbkj 416 days ago
    [dead]