Fork me on GitHub

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.

Plug-In Support

  • Adapter/Framework for customizing broker logics against MQTT events
  • For more information, refer Plug-In.

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.

$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

For installing and starting up Lannister, move into Getting Started.