Re:Pulsar vs. Kafka
by SmooL on Friday July 10, 2020 @09:34AM
(#23791305)
Is there any sort of 'single node' version of these frameworks? I'm very interested in building event-driven solutions, but I don't need the scale offered by kakfa/pulsar, and I really don't want all the complexity. Is there any reason nobody has made a smaller, less distributed event-centric DB?
[ Parent
| on HN ]
Redis Streams is a pretty good lightweight replacement for Kafka. Of course, what Kafka gets you are durability, being able to pick among at-least-once, at-most-once and exactly-once delivery of messages, among other things
Thank you, I'll check it out
You can run kafka on a single node no problem.
Give this a try: https://www.digitalocean.com/community/tutorials/how-to-inst...
Single node Kafka still needs Zookeeper, though.
Oh cool, thank you!
Re:Pulsar vs. Kafka
by itestyourcode on Friday July 10, 2020 @10:08AM
(#23791586)
Pulsar does offer a standalone mode. It has a vertical stack of Pulsar broker, bookkeeper, and zookeeper in one process. The standalone mode also comes in a single docker image.
However, the complexity you refer to is essential in a reliable messaging framework. Use of zookeeper or any log consensus algorithm requires multiple nodes ( 3 or more) to achieve durability and high availability goal. It is out of necessity. This is actually essential complexity.
There is another messaging framework called Nats.io. It is not persistent so architecturally relatively simpler. You might want to investigate.
Postgres can be used as an effective event centric database and pub/sub queue with NOTIFY and LISTEN
Pulsar offers a standalone mode, which runs everything inside a single JVM and you can just backup the data files. Pulsar also can be made to run with multiple components, but not distributed.
nats streaming worth checking out, or if you dont care about the streaming part nats/zeromq should be simple enough (simple pub/sub infra tools).
Re:Pulsar vs. Kafka
by staticassertion on Friday July 10, 2020 @09:38AM
(#23791341)
Redis?