SkillAgentSearch skills...

Lannister

A lightweight MQTT broker w/ full spec,Clustering,WebSocket,SSL written in Java

Install / Use

/learn @anyflow/Lannister
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!-- Copyright 2016 The Lannister Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

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 / anyflow@gmail.com

License

Lannister is released under version 2.0 of the Apache License.

Related Skills

View on GitHub
GitHub Stars25
CategoryProduct
Updated2d ago
Forks8

Languages

Java

Security Score

95/100

Audited on Mar 28, 2026

No findings