Popularity
9.7
Stable
Activity
3.9
-
1,336
82
168

Monthly Downloads: 834
Programming language: Erlang
License: ISC License
Tags: Applications    
Latest version: v7.11.1

n2o alternatives and similar packages

Based on the "Applications" category.
Alternatively, view n2o alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of n2o or a related project?

Add another 'Applications' Package

README

N2O: TCP MQTT WebSocket

Actions Status Build Status Hex pm

N2O is an embeddable message protocol loop library for WebSocket, HTTP, MQTT and TCP servers. It provides basic features, such as process management, virtual nodes ring for request processing, sessions, frame encoding, and unified API for external mq and caching services.

Core Features

  • Purpose: High performance protocol relay
  • Endpoints: WebSockets, MQTT, TCP
  • Codebase: 700 LOC (Erlang), 500 LOC (JavaScript)
  • Dialyzer: REBAR, REBAR3, MAD, MIX
  • Hosts: COWBOY, EMQ, MOCHIWEB, RING, TCP, UDP
  • PubSub: GPROC, SYN, PG2
  • Formatters: JSON, BERT, ASN.1

Protocol Extensions

  • Templates: DTL, NITRO
  • Abstract Database Layer KVS: FS, MNESIA, ROCKSDB, RIAK, REDIS
  • Business Processes: BPE (BPMN 2.0), SCM, ERP, CRM
  • HTTP API: REST (proplist/JSON)
  • ACTIVE Reloading: GNU/Linux, Windows, macOS

Basic Samples

Enterprise Samples

  • Online Client Bank: BANK (8041)
  • Instant Messaging: CHAT (8042)
  • Product Lifecycle Management: PLM (8043)

Motivation

N2O was created to bring clarity and sanity to software development. The distribution model is per file basis with ISC license.

Kernel

The core modules provide OTP start and N2O entry point.

MQTT

MQTT version is implemented as RPC over MQ pattern. N2O service worker started as ring of virtual nodes each runs N2O loop.

mad app zero review
cd review
mad dep com pla rep
open http://127.0.0.1:8000

WebSocket

N2O Loop is directly connected and ran inside context of WebSocket handler. Usually in Erlang we use syn or gproc OTP message buses. As such buses are optional in MQTT setup we include bus drivers in WebSocket package.

mad app nitro sample
cd sample
mad dep com pla rep
open https://127.0.0.1:8001/app/index.htm

Protocols

N2O ships with 3 optional protocols.

  • n2o_ftp β€” N2O File protocol
  • n2o_heart β€” N2O Heart protocol
  • nitro_n2o β€” Nitrogen Web Framework protocol
  • bpe_n2o β€” Business Process Engine protocol

Services

Formatters, Sessions, etc. Optional.

JavaScript

Literature

  • "N2O: no bullshit sane framework for wild web" PDF (versions 0.11β€”4.4)
  • "N2O BOOK Vol.2 Green Book" HTML (versions 4.5β€”8.11)


*Note that all licence references and agreements mentioned in the n2o README section above are relevant to that project's source code only.