All Projects → nanomsg → Mangos

nanomsg / Mangos

Licence: apache-2.0
mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols"

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Mangos

Quedis
Quedis - redis queue for bosses
Stars: ✭ 31 (-91.93%)
Mutual labels:  queue, message
Bull
Premium Queue package for handling distributed jobs and messages in NodeJS.
Stars: ✭ 11,748 (+2959.38%)
Mutual labels:  queue, message
Kubemq
KubeMQ is Enterprise-grade message broker native for Docker and Kubernetes
Stars: ✭ 58 (-84.9%)
Mutual labels:  queue, pubsub
Bokeh
Bokeh is a simple, scalable and blazing-fast task queue built on Node.js and ZeroMQ.
Stars: ✭ 67 (-82.55%)
Mutual labels:  queue, message
qless-php
PHP Bindings for qless
Stars: ✭ 25 (-93.49%)
Mutual labels:  queue, message
Appserver
A multithreaded application server for PHP, written in PHP.
Stars: ✭ 930 (+142.19%)
Mutual labels:  queue, message
Miniqueue
A simple, single binary, message queue.
Stars: ✭ 77 (-79.95%)
Mutual labels:  queue, message
Bigq
Messaging platform in C# for TCP and Websockets, with or without SSL
Stars: ✭ 18 (-95.31%)
Mutual labels:  queue, message
Message Bus
Go simple async message bus
Stars: ✭ 166 (-56.77%)
Mutual labels:  queue, pubsub
Node Rethinkdb Job Queue
A persistent job or task queue backed by RethinkDB.
Stars: ✭ 158 (-58.85%)
Mutual labels:  queue, message
Garagemq
AMQP message broker implemented with golang
Stars: ✭ 153 (-60.16%)
Mutual labels:  queue, pubsub
node-svmq
Native System V message queues in Node.js
Stars: ✭ 16 (-95.83%)
Mutual labels:  queue, message
gobroker
golang wrapper for all (to-be) kinds of message brokers
Stars: ✭ 15 (-96.09%)
Mutual labels:  queue, pubsub
libmcu
A toolkit for firmware development
Stars: ✭ 33 (-91.41%)
Mutual labels:  queue, pubsub
React Native Phone Verification
The best React Native example for phone verification (an alternative to Twitter Digits).
Stars: ✭ 332 (-13.54%)
Mutual labels:  message
Wampsharp
A C# implementation of WAMP (The Web Application Messaging Protocol)
Stars: ✭ 355 (-7.55%)
Mutual labels:  pubsub
Nodejs Pubsub
Node.js client for Google Cloud Pub/Sub: Ingest event streams from anywhere, at any scale, for simple, reliable, real-time stream analytics.
Stars: ✭ 329 (-14.32%)
Mutual labels:  pubsub
Mlib
Library of generic and type safe containers in pure C language (C99 or C11) for a wide collection of container (comparable to the C++ STL).
Stars: ✭ 321 (-16.41%)
Mutual labels:  queue
Whisper
📣 Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside
Stars: ✭ 3,718 (+868.23%)
Mutual labels:  message
Swarrot
A lib to consume message from any Broker
Stars: ✭ 350 (-8.85%)
Mutual labels:  queue

ifdef::env-github[] :note-caption: ℹ️ :important-caption: ❗️ :warning-caption: ❗️ endif::[] = mangos

image:https://img.shields.io/github/workflow/status/nanomsg/mangos/linux?logoColor=grey&logo=ubuntu&label=[Linux Status,link="https://github.com/nanomsg/mangos/actions"] image:https://img.shields.io/github/workflow/status/nanomsg/mangos/windows?logoColor=grey&logo=windows&label=[Windows Status,link="https://github.com/nanomsg/mangos/actions"] image:https://img.shields.io/github/workflow/status/nanomsg/mangos/darwin?logoColor=grey&logo=apple&label=[Darwin Status,link="https://github.com/nanomsg/mangos/actions"] image:https://img.shields.io/codecov/c/github/nanomsg/mangos?logoColor=grey&logo=codecov&label=[Coverage,link="https://codecov.io/gh/nanomsg/mangos"] image:https://img.shields.io/codacy/grade/0addd1f6c00e4251b37854f3499e6d76?logoColor=grey&logo=codacy&label=[Code Quality,link="https://app.codacy.com/manual/gdamore/mangos/dashboard"] image:https://img.shields.io/discord/639573728212156478?label=&logo=discord[Discord,link="https://discord.gg/wewTkby"] image:https://img.shields.io/badge/godoc-docs-blue.svg?label=&logo=go[GoDoc,link="https://godoc.org/go.nanomsg.org/mangos"] image:https://img.shields.io/github/license/nanomsg/mangos.svg?logoColor=silver&logo=Open Source Initiative&label=&color=blue[Apache 2.0 License,link="https://github.com/nanomsg/mangos/blob/master/LICENSE"] image:https://img.shields.io/github/v/tag/nanomsg/mangos?logo=github&sort=semver&label=[Latest version,link="https://github.com/nanomsg/mangos/releases"] // image:https://goreportcard.com/badge/go.nanomsg.org/mangos?style=flat[Go Report Card,link="https://goreportcard.com/report/go.nanomsg.org/mangos"]

[cols="2",grid="none",frame="none",options="autowidth"] |=== |Mangos™ is an implementation in pure Go of the SP ("Scalability Protocols") messaging system. These are colloquially known as a "nanomsg". a|image::mangos.jpg[float="right"] |===

IMPORTANT: The import path has changed! Please change any references from nanomsg.org/go/mangos/v2 to go.nanomsg.org/mangos/v3. The old v2 imports will still work for old applications, provided that a sufficiently modern version of Go is used. However, no further work will be done on v2.

TIP: Versions 1 and 2 of mangos were at different import locations. Those versions will still inter-operate with this version, except that within the same process the inproc transport can only be used by consumers using the same version of mangos.

The modern C implementation of the SP protocols is available as https://github.com/nanomsg/nng[__NNG™__].

The original implementation of the SP protocols is available as http://www.nanomsg.org[__nanomsg™__].

Generally (modulo a few caveats) all of these implementations can inter-operate.

The design is intended to make it easy to add new transports with almost trivial effort, as well as new topologies ("protocols" in SP parlance.)

At present, all of the Req/Rep, Pub/Sub, Pair, Bus, Push/Pull, and Surveyor/Respondent patterns are supported. This project also supports an experimental protocol called Star.

Supported transports include TCP, inproc, IPC, WebSocket, WebSocket/TLS and TLS.

Basic interoperability with nanomsg and NNG has been verified (you can do so yourself with nanocat and macat) for all protocols and transports that NNG and nanomsg support, except for the ZeroTier transport and the PAIRv1 protocol, which are only supported in NNG at this time.

There are a number of projects that use these products together.

// There is a third party experimental QUIC transport available at // quic-mangos. // (An RFE to make this transport official exists.)

// If you find this useful, I would appreciate knowing about it. I can be reached // via my email address, garrett -at- damore -dot- org

== Documentation

For docs, see https://godoc.org/go.nanomsg.org/mangos or run:

$ godoc -http=:6060

then see http://localhost:6060/pkg/go.nanomsg.org/mangos/

== Testing

This package supports internal self tests, which can be run in the idiomatic Go way. (Note that most of the tests are in a test subdirectory.)

$ go test go.nanomsg.org/mangos/v3/...

There are also internal benchmarks available:

$ go test -bench=. go.nanomsg.org/mangos/v3/test

== Commercial Support

mailto:[email protected][Staysail Systems, Inc.] offers http://staysail.tech/support/mangos[commercial support] for mangos.

== Examples

Some examples are posted in the directories under examples/ in this project.

These examples are rewrites (in Go) of Tim Dysinger's http://nanomsg.org/gettingstarted/index.html[Getting Started with Nanomsg].

Running go doc in the example directories will yield information about how to run each example program.

Enjoy!

''' Copyright 2020 The Mangos Authors

mangos™, Nanomsg™ and NNG™ are http://nanomsg.org/trademarks.html[trademarks] of Garrett D'Amore.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].