horoyoii / MQTT_Broker

πŸ’Ž Linux's epoll based mqtt broker πŸ’Ž

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MQTT Broker based on epoll

This is an implementation of a server for the MQTT protocol.

This broker is written in C++, using a epoll.
Currently this broker serves only QoS 0.

Links

See the following links for more information on MQTT:

Epoll information is available at the following locations:

Linux's epoll based mqtt broker

Introduction

There are many open sources for a mqtt broker. eclipse/mosquitto is one of them.
But this open source is using a poll/select mode by reason of portability.

This topic was discussed in eclipse/mosquitto' issue #449
eclipse/mosquitto#449

As mentioned above the issue, select system call is hard to handle the c10k problem

So this implemtation is based epoll system call in the Linux as part of the effort to handle the problem.

Stuff it doesn't do

  • support only QoS 0
  • Linux specific
  • Didn't benchmark it

For simple test

docker run -p 1883:1883 horoyoii/simple-mqtt-broker

About

πŸ’Ž Linux's epoll based mqtt broker πŸ’Ž


Languages

Language:C++ 98.6%Language:Makefile 1.0%Language:Dockerfile 0.4%