All Projects → anyflow → lannister

anyflow / lannister

Licence: Apache-2.0 License
A lightweight MQTT broker w/ full spec,Clustering,WebSocket,SSL written in Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to lannister

Aedes
Barebone MQTT broker that can run on any stream server, the node way
Stars: ✭ 1,007 (+4935%)
Mutual labels:  mqtt, mqtt-broker
sol
Lightweight MQTT broker, written from scratch. IO is handled by a super simple event loop based upon the most common IO multiplexing implementations.
Stars: ✭ 72 (+260%)
Mutual labels:  mqtt, mqtt-broker
Mqtt
MQTT broker written in D, using vibe.d
Stars: ✭ 59 (+195%)
Mutual labels:  mqtt, mqtt-broker
kafka-connect-iot-mqtt-connector-example
Internet of Things Integration Example => Apache Kafka + Kafka Connect + MQTT Connector + Sensor Data
Stars: ✭ 170 (+750%)
Mutual labels:  mqtt, mqtt-broker
Mosquitto Cluster
a built-in, autonomous Mosquitto Cluster implementation. MQTT集群.
Stars: ✭ 238 (+1090%)
Mutual labels:  mqtt, mqtt-broker
Emqx
An Open-Source, Cloud-Native, Distributed MQTT Message Broker for IoT.
Stars: ✭ 8,951 (+44655%)
Mutual labels:  mqtt, mqtt-broker
Mqtt Pwn
MQTT-PWN intends to be a one-stop-shop for IoT Broker penetration-testing and security assessment operations.
Stars: ✭ 156 (+680%)
Mutual labels:  mqtt, mqtt-broker
Hivemq Community Edition
HiveMQ CE is a Java-based open source MQTT broker that fully supports MQTT 3.x and MQTT 5. It is the foundation of the HiveMQ Enterprise Connectivity and Messaging Platform
Stars: ✭ 562 (+2710%)
Mutual labels:  mqtt, mqtt-broker
Iot Harbor
reactor3实现的mqtt库
Stars: ✭ 234 (+1070%)
Mutual labels:  mqtt, mqtt-broker
Mqttnet
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
Stars: ✭ 2,486 (+12330%)
Mutual labels:  mqtt, mqtt-broker
Thingsboard Gateway
Open-source IoT Gateway - integrates devices connected to legacy and third-party systems with ThingsBoard IoT Platform using Modbus, CAN bus, BACnet, BLE, OPC-UA, MQTT, ODBC and REST protocols
Stars: ✭ 796 (+3880%)
Mutual labels:  mqtt, mqtt-broker
zmosq
MQTT/Mosquitto / ZeroMQ proxy
Stars: ✭ 22 (+10%)
Mutual labels:  mqtt, mqtt-broker
Mqtt.js
The MQTT client for Node.js and the browser
Stars: ✭ 6,723 (+33515%)
Mutual labels:  mqtt, mqtt-broker
channels-asgi-mqtt
Interface between MQTT and ASGI and Channels 2.0 compatible
Stars: ✭ 36 (+80%)
Mutual labels:  mqtt, mqtt-broker
Hbmqtt
MQTT client/broker using Python asynchronous I/O
Stars: ✭ 667 (+3235%)
Mutual labels:  mqtt, mqtt-broker
Nanomq
Nano MQTT Broker - An Ultra-light and Blazing-fast MQTT Broker for IoT Edge
Stars: ✭ 104 (+420%)
Mutual labels:  mqtt, mqtt-broker
Gmqtt
Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1 and V5 in golang
Stars: ✭ 290 (+1350%)
Mutual labels:  mqtt, mqtt-broker
Mqtt Panel
A web interface for MQTT
Stars: ✭ 315 (+1475%)
Mutual labels:  mqtt, mqtt-broker
Emqx Rel
The Release Project for EMQ X Broker
Stars: ✭ 166 (+730%)
Mutual labels:  mqtt, mqtt-broker
mqttools
MQTT version 5.0 client and broker using asyncio
Stars: ✭ 44 (+120%)
Mutual labels:  mqtt, mqtt-broker

Lannister

Build Status Codacy Badge Codacy Badge

Lannister is a lightweight MQTT broker equipped with full specifications support, Clustering, WebSocket, SSL written in Java.

MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. For example, it has been used in sensors communicating to a broker via satellite link, over occasional dial-up connections with healthcare providers, and in a range of home automation and small device scenarios. It is also ideal for mobile applications because of its small size, low power usage, minimised data packets, and efficient distribution of information to one or many receivers - http://mqtt.org

Features

  • Full Protocol Specifications(MQTT Version 3.1.1, MQTT Version 3.1) support includes
  • Clustering
    • Distribution Transparency / High Availability / Distributed Cache
    • Easy, elastic Scaling out
    • For more information, refer Clustering.
  • WebSocket
    • Built-in WebSocket support on the same JVM of regular TCP channel
    • For more information, refer WebSocket settings.
  • SSL (TCP / WebSocket channels both)
    • Built-in SSL support for both TCP(mqtts://) and WebSocket(wss://) channels
    • For more information, refer SSL settings.
  • Plug-In Support
    • Adapter/Framework for customizing broker logics against MQTT events
    • For more information, refer Plug-In.
  • $SYS topics
  • Features arranged for Lannister version 1.1 (Under development)
    • Web administration Site
    • extended HTTP REST APIs for admin, client
    • Bridge
    • Data Persistency
    • Optional $SYS Topics

Getting Started

  • Before getting into Lannister installation, check the follows are installed in your machine.
    • Java 8 or later
    • Maven 3 (case for starting from source)

Starting from package

  1. Go to https://goo.gl/GJ1piF
  2. Download a compressed file preferred (zip / tar.gz / tar.bz2)
  3. Unpack downloaded file and move into the directory
  4. Execute ./bin/startup.sh
  5. For shutdown, execute ./bin/shutdown.sh

Starting from source

# Download lannister source
git clone https://github.com/anyflow/lannister.git

# Change directory to lannister
cd lannister

# Build(The command builds all sub-projects(interface, server, plugin-example simultaneously)
mvn install

# Run lannister server
mvn exec:java -pl server

Project site

For deeper understanding of Lannister, please visit http://anyflow.github.io/lannister. The site has complete information of Lannister includes all of the above links and development/production information.

Author

Park Hyunjeong / [email protected]

License

Lannister is released under version 2.0 of the Apache License.

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].