2022-11-24
2310
#node
Rishabh Rawat
143530
Nov 24, 2022 ⋅ 8 min read

Build a durable pub-sub with Kafka in Node.js

Rishabh Rawat Rishabh is a full-time Software Engineer, GSoC '19 participant, and GCI '18 mentor. He writes about backend web development biweekly. Find him on Twitter and LinkedIn.

Recent posts:

Node.js Project Architecture Best Practices

Node.js project architecture best practices

Understand best practices for structuring Node.js projects, such as separating roles using folder structures and practicing modular code.

Piero Borrelli
Mar 20, 2026 ⋅ 16 min read

TypeScript at scale in 2026: What senior engineers should know

How senior engineers run TypeScript effectively at scale in modern codebases.

Peter Aideloje
Mar 19, 2026 ⋅ 6 min read
the replay march 18

The Replay (3/18/26): Hiring in the AI era, coding isn’t dead, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the March 18th issue.

Matt MacCormack
Mar 18, 2026 ⋅ 29 sec read
ken pickering ai hiring quote card

Thinking beats coding: How to hire the right engineers in the AI era

A CTO outlines his case for how leaders should prioritize complex thinking over framework knowledge when hiring engineers for the AI era.

Ken Pickering
Mar 18, 2026 ⋅ 4 min read
View all posts

8 Replies to "Build a durable pub-sub with Kafka in Node.js"

  1. >This helps in replaying or resyncing your applications and certain operations

    I tend to disagree, as complex applications involve integrations with 3p services, and replaying events might cause inconsistencies on those services if invoked multiple times (in longer periods of time). Events which represent business facts should be handled, processed and consumed only once. However, I agree on the auditing part, but in a distributed, service-oriented architecture, that should be framed as a proper service.

    1. Yes, replaying the events is only possible when all of the external services or vendors have idempotent APIs.

      Absolutely. Replaying Kafka events should not be a go-to for compensating request failures. If unexpected failures happen frequently, the API design needs to be relooked at.

  2. Hi, i am getting below issue after running first command..

    Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

Leave a Reply

Your email address will not be published. Required fields are marked *

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now