envoyproxy/envoy

Support proxy for MQTT Protocol

Open

#31.059 aberto em 27 de nov. de 2023

Ver no GitHub
 (2 comments) (8 reactions) (0 assignees)C++ (5.373 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (27.997 stars)
Métricas de merge de PR
 (Mesclagem média 8d) (378 fundiu PRs em 30d)

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.

Guia do colaborador