envoyproxy / envoyproxy/envoy

Support proxy for MQTT Protocol

Open
#31,059 2 comments 8 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

*Title*: *Support proxy for MQTT Protocol*

*Description*:
>The idea here is to setup MQTT Broker behind Envoy proxy load balancing between different nodes of MQTT cluster in our case a multi node EMQX MQTT Broker Cluster.
Functional Requirements:
1. Since MQTT brokers have a large number of devices connected all the time (Single node 4GB RAM machine can have over 50000 connections) envoy proxy also should support large number of connection.
2. Support TLS termination for MQTT protocol
3. For an IOT usecase each device will be provisioned with its own unique TLS certificate for mTLS. The proxy should have support for CRL and OCSP validation of revoked certificates for Server and Client Side Certificates
4. Load balancing between multiple nodes of a multi node MQTT Broker Cluster

[optional *Relevant Links*:]
>NGINX has stream support which supports MQTT here are the documents for the same
http://nginx.org/en/docs/stream/ngx_stream_core_module.html
https://www.emqx.io/docs/en/latest/deploy/cluster/lb-nginx.html#:~:text=Using%20Nginx%20to%20load%20balance,behalf%20of%20the%20EMQX%20cluster.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.