Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Kestrel

39
58
+ 1
0
NSQ

143
356
+ 1
148
Add tool

Kestrel vs NSQ: What are the differences?

What is Kestrel? Simple, distributed message queue system. Kestrel is based on Blaine Cook's "starling" simple, distributed message queue, with added features and bulletproofing, as well as the scalability offered by actors and the JVM.

What is NSQ? A realtime distributed messaging platform. NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.

Kestrel and NSQ belong to "Message Queue" category of the tech stack.

Some of the features offered by Kestrel are:

  • Written by Robey Pointer
  • Starling clone written in Scala (a port of Starling from Ruby to Scala)
  • Queues are stored in memory, but logged on disk

On the other hand, NSQ provides the following key features:

  • support distributed topologies with no SPOF
  • horizontally scalable (no brokers, seamlessly add more nodes to the cluster)
  • low-latency push based message delivery (performance)

Kestrel and NSQ are both open source tools. NSQ with 15.6K GitHub stars and 2.03K forks on GitHub appears to be more popular than Kestrel with 2.8K GitHub stars and 326 GitHub forks.

Advice on Kestrel and NSQ
Pramod Nikam
Co Founder at Usability Designs · | 2 upvotes · 559.2K views
Needs advice
on
Apache ThriftApache ThriftKafkaKafka
and
NSQNSQ

I am looking into IoT World Solution where we have MQTT Broker. This MQTT Broker Sits in one of the Data Center. We are doing a lot of Alert and Alarm related processing on that Data, Currently, we are looking into Solution which can do distributed persistence of log/alert primarily on remote Disk.

Our primary need is to use lightweight where operational complexity and maintenance costs can be significantly reduced. We want to do it on-premise so we are not considering cloud solutions.

We looked into the following alternatives:

Apache Kafka - Great choice but operation and maintenance wise very complex. Rabbit MQ - High availability is the issue, Apache Pulsar - Operational Complexity. NATS - Absence of persistence. Akka Streams - Big learning curve and operational streams.

So we are looking into a lightweight library that can do distributed persistence preferably with publisher and subscriber model. Preferable on JVM stack.

See more
Replies (1)
Naresh Kancharla
Staff Engineer at Nutanix · | 4 upvotes · 556.6K views
Recommends
on
KafkaKafka

Kafka is best fit here. Below are the advantages with Kafka ACLs (Security), Schema (protobuf), Scale, Consumer driven and No single point of failure.

Operational complexity is manageable with open source monitoring tools.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Kestrel
Pros of NSQ
    Be the first to leave a pro
    • 29
      It's in golang
    • 20
      Distributed
    • 20
      Lightweight
    • 18
      Easy setup
    • 17
      High throughput
    • 11
      Publish-Subscribe
    • 8
      Scalable
    • 8
      Save data if no subscribers are found
    • 6
      Open source
    • 5
      Temporarily kept on disk
    • 2
      Simple-to use
    • 1
      Free
    • 1
      Topics and channels concept
    • 1
      Load balanced
    • 1
      Primarily in-memory

    Sign up to add or upvote prosMake informed product decisions

    Cons of Kestrel
    Cons of NSQ
      Be the first to leave a con
      • 1
        Long term persistence
      • 1
        Get NSQ behavior out of Kafka but not inverse
      • 1
        HA

      Sign up to add or upvote consMake informed product decisions

      882
      370
      286
      17
      58

      What is Kestrel?

      Kestrel is based on Blaine Cook's "starling" simple, distributed message queue, with added features and bulletproofing, as well as the scalability offered by actors and the JVM.

      What is NSQ?

      NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Kestrel?
      What companies use NSQ?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Kestrel?
      What tools integrate with NSQ?
        No integrations found
        What are some alternatives to Kestrel and NSQ?
        NGINX
        nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.
        Falcon
        Falcon is a minimalist WSGI library for building speedy web APIs and app backends. We like to think of Falcon as the Dieter Rams of web frameworks.
        Mantis
        It is a free web-based bug tracking system. It provides a delicate balance between simplicity and power. Users are able to get started in minutes and start managing their projects while collaborating with their teammates and clients effectively.
        Owin
        It is a standard for an interface between .NET Web applications and Web servers. It is a community-owned open-source project.
        MySQL
        The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
        See all alternatives