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

Gearman

75
144
+ 1
45
Mosca

16
43
+ 1
0
Add tool

Gearman vs Mosca: What are the differences?

What is Gearman? A generic application framework to farm out work to other machines or processes. Gearman allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

What is Mosca? A Node.js MQTT broker. A Node.js MQTT broker, which can be used as a Standalone Service or embedded in another Node.js application.

Gearman and Mosca can be primarily classified as "Message Queue" tools.

Some of the features offered by Gearman are:

  • Open Source It’s free! (in both meanings of the word) Gearman has an active open source community that is easy to get involved with if you need help or want to contribute. Worried about licensing? Gearman is BSD
  • Multi-language - There are interfaces for a number of languages, and this list is growing. You also have the option to write heterogeneous applications with clients submitting work in one language and workers performing that work in another
  • Flexible - You are not tied to any specific design pattern. You can quickly put together distributed applications using any model you choose, one of those options being Map/Reduce

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

  • MQTT 3.1 and 3.1.1 compliant
  • QoS 0 and QoS 1
  • Various storage options for QoS 1 offline packets, and subscriptions

Mosca is an open source tool with 2.84K GitHub stars and 501 GitHub forks. Here's a link to Mosca's open source repository on GitHub.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Gearman
Pros of Mosca
  • 11
    Ease of use and very simple APIs
  • 11
    Free
  • 6
    Polyglot
  • 5
    No single point of failure
  • 3
    Scalable
  • 3
    High-throughput
  • 2
    Foreground & background processing
  • 2
    Very fast
  • 1
    Different Programming Languages Channel
  • 1
    Many supported programming languages
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    What is Gearman?

    Gearman allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

    What is Mosca?

    A Node.js MQTT broker, which can be used as a Standalone Service or embedded in another Node.js application.

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

    What companies use Gearman?
    What companies use Mosca?
    See which teams inside your own company are using Gearman or Mosca.
    Sign up for StackShare EnterpriseLearn More

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

    What tools integrate with Gearman?
    What tools integrate with Mosca?
    What are some alternatives to Gearman and Mosca?
    RabbitMQ
    RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
    Kafka
    Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
    Celery
    Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
    Redis
    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
    Beanstalkd
    Beanstalks's interface is generic, but was originally designed for reducing the latency of page views in high-volume web applications by running time-consuming tasks asynchronously.
    See all alternatives