envoyproxy/envoy

Support proxy for MQTT Protocol

Open

#31,059 创建于 2023年11月27日

在 GitHub 查看
 (2 评论) (8 反应) (0 负责人)C++ (5,373 fork)batch import
enhancementhelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

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.

贡献者指南