Watermill

Languages and libraries

messaging library example

SHOW HN2021

Watermill

Exactly-once delivery counter using Watermill messaging library

github.com

#exactly-once delivery#message processing#watermill#go messaging

18points
9comments
#1,472of 2,533 in 2021
Top 59%of 2021 by points

How HN took it

RoastedHalf or more of the comments are critical

0 positive, 1 neutral or asking, 0 mixed, 4 critical, out of 5 comments about the project. Thread score -0.50.

Idea: 0 for, 3 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

Objections

  • Exactly-once delivery is impossible end-to-end in distributed systems; the project only covers a subset

    From 3 comments
    • Exactly-once delivery in a distributed environment is impossible. Close-to-exactly-once is possible but there is always a way to have a situation where exactly-once fails once…
      plank_time on HN
    • But that seems pointless. Exactly-once covering a subset of the pipeline doesn't guarantee exactly-once. At best it improves your chance of exactly-once delivery. If you really…
      kevincox on HN
    • This seems like another odd definition of "exactly once". The underlying assumption appears to be that all you work is happening insides the sql transaction, so all the work the…
      mimir on HN
  • Idempotency at application level is preferable

    From 1 comment
    • This seems like another odd definition of "exactly once". The underlying assumption appears to be that all you work is happening insides the sql transaction, so all the work the…
      mimir on HN
  • Request IDs are needed for true exactly-once; the example lacks them

    From 1 comment
    • > 1. you need to use a Pub/Sub implementation that does support exactly-once delivery (only MySQL/PostgreSQL for now), To implement exactly-once delivery you first need exactly…
      kevincox on HN
  • Key-value stores like Redis would be faster

    From 1 comment
    • Seems like any key value store would be better for this. Redis, DynamoDB, etc.. could get a lot higher throughput on messages.
      poorman on HN

Alternatives named

  • Idempotent application-level updates

    From 1 comment
    • This seems like another odd definition of "exactly once". The underlying assumption appears to be that all you work is happening insides the sql transaction, so all the work the…
      mimir on HN
  • Redis or DynamoDB

    From 1 comment
    • Seems like any key value store would be better for this. Redis, DynamoDB, etc.. could get a lot higher throughput on messages.
      poorman 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/26888303)