SmoothMQ

Infrastructure

message queue

SHOW HN2024

656points
156comments
#34of 3,515 in 2024
Top 1%of 2024 by points

How HN took it

MixedNo clear lean

19 positive, 28 neutral or asking, 2 mixed, 15 critical, out of 64 comments about the project. Thread score +0.12.

Idea: 9 for, 5 againstExecution: 3 for, 1 againstPricing: 0 for, 4 againstDesign: 2 for, 1 againstPerformance: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Clean, readable Go code and easy to follow.

    From 1 comment
    • Tangential but I looked at the codebase - because I like to imagine I can code (I can’t) - and for a laymen, I could follow the code. Makes me think quite positively of go lang…
      dav43 on HN
  • Useful for testing as an alternative to localstack or mocks.

    From 2 comments
    • Keeping questions from scale & benchmarks aside, this is a cool thing for functional/unit testing module that uses SQS, instead of dumb mocks.
      hrisen on HN
    • A testcontainer could be useful. I use always this adobe-mock from s3 for my test. Hmm.
      okr on HN
  • Fits the trend of simple SQLite-based self-hosted tools.

    From 2 comments
    • I love that we're seeing a lot of projects apply the KISS principal and leverage (or take inspiration) from SQLite, like this, PocketBase and even DuckDB. An entire generation of…
      skeeter2020 on HN
    • The whole idea here is superlative. +1 for k8s, kubernetes, cloud native, self-hosted, edge-enabled at low cost, no cost. I ran rq and minio for years on k8s, but been watching…
      davidthewatson on HN

Objections

  • SQLite runs on one server, so reliability is weaker than SQS until distribution exists.

    From 1 comment
    • Correct me if I’m wrong but: SQLite sounds like: runs on one server. While that will work most of the time, it won’t work 100% of the time. I don’t know the specifics, but I’m…
      PanMan on HN
  • AGPL license limits adoption.

    From 1 comment
    • What's the point of AGPL though? The enterprises with the budget for self hosting this sort of software usually have requirements and scale beyond what SQLite can offer out of…
      Onavo on HN
  • SQS is already very cheap, so a cheaper hosted version is a weak pitch.

    From 1 comment
    • Not sure about the goal of providing a hosted service cheaper than SQS. SQS is already one of the cheapest services on Earth. It's pretty hard to spend more than a few bucks a…
      slotrans on HN
  • Disabled foreign keys and TODOs raise reliability concerns.

    From 1 comment
    • I may be asking a naive question, but what is the rationale behind disabling foreign key support and using them anyway in the database schema? See…
      koito17 on HN

Requests

  • Feature comparison table against SQS.

    From 2 comments
    • So I assume it does the back-end as well? I never cared to figure out what parts of SQS are clients-side and server side, but - does SmoothMQ support long polling, batch…
      mannyv on HN
    • Everything here is on the backend. The client does very little except make api calls. It implements many of these features so far (ie, visibility timeouts) and there are some…
      memset on HN
  • Better docs and a small example application.

    From 1 comment
    • Perhaps do a small example application. ``` go get github.com/poundifdef/SmoothMQ/models go: github.com/poundifdef/SmoothMQ@v0.0.0-20240630162953-46f8b2266d60 requires go >=…
      deskr on HN
  • Live stats in the UI.

    From 1 comment
    • Very cool. I needed something like this. Looking at short video in readme - I suspect adding live stats similar to sidekiq would make UI look more dynamic and allow quick…
      systemz on HN
  • Support for rate limiting and Sidekiq-like features.

    From 2 comments
    • How would one use this to replace Sidekiq for instance? Rate limiting is something I miss on Sidekiq (only available on the premium plan that I can't afford) and the gems that…
      pqdbr on HN
    • Now you sound like an investor :) My own vision is to take a queue that is relatively dumb and make it smarter. I want it to be able to, for example, allow you to rate limit…
      memset on HN

Questions

  • How will distributed mode work?

    From 2 comments
    • This looks great! How were you planning on tackling distributed?
      sgarland on HN
    • This is a great question and something I've been thinking about a lot. Big picture: Each queue node can operate (mostly) independently, and this is good. As a consumer, I don't…
      memset on HN
  • Does it support long polling, visibility timeouts and FIFO queues?

    From 2 comments
    • So I assume it does the back-end as well? I never cared to figure out what parts of SQS are clients-side and server side, but - does SmoothMQ support long polling, batch…
      mannyv on HN
    • Everything here is on the backend. The client does very little except make api calls. It implements many of these features so far (ie, visibility timeouts) and there are some…
      memset on HN
  • Is it a drop-in for Redis Streams?

    From 1 comment
    • I was thinking of using Redis Stream instead of SQS, what would be better Redis or SmoothMQ?
      lovestaco on HN

Alternatives named

  • LocalStack

    From 2 comments
    • Why not use LocalStack? It has SQS and a lot of AWS services for testing/development. Well documented, open source. https://docs.localstack.cloud/overview/
      john-tells-all on HN
    • I was not aware of testcontainer until you just mentioned it! I have a very basic Dockerfile for deploying to fly.io. What/how would I get started? It looks like localstack is a…
      memset on HN
  • ElasticMQ

    From 1 comment
    • The goals are a little different but I think it's worth pointing out ElasticMQ. I use it simulate sqs in a docker environment. https://github.com/softwaremill/elasticmq
      4RealFreedom on HN
  • RabbitMQ

    From 1 comment
    • Could you elaborate why you didn't choose e.g. RabbitMQ? I mean you talk about AMQP and such, it seems to me, that a client-side abstraction would be much more efficient in…
      chromanoid on HN
  • Redis Streams

    From 1 comment
    • I was thinking of using Redis Stream instead of SQS, what would be better Redis or SmoothMQ?
      lovestaco on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/40837610)