Git Product home page Git Product logo

vmq-proxy-configs's Introduction

vmq-proxy-configs

(Note: WIP!) This shall be a community collection of configuration files for different Loadbalancers and/or Proxies to run in front of a VerneMQ cluster.

Let's share what we know. Document what works and what does not work. Full configuration files are welcome, but also documented snippets. Use the Wiki, and also feel welcome to just open Github issues with questions and observations.

Note that (with the exception of WebSocket support) we are only concerned with TCP (not HTTP) based load balancers and proxies here. It's always about load balancing MQTT, a TCP-based protocol.

The difference between "TCP Proxies" and "MQTT Proxies" below simply means that Proxies can be aware of the underlying MQTT protocol, or not. Normally, a TCP based proxy is enough to load balance MQTT endpoints. MQTT protocol awareness can offer additional features like load balancing based on MQTT ClientIDs, or offload features from the broker (like pre-authentication).

TCP Proxies

  • HAProxy
  • NGINX
  • Traefik
  • Envoy
  • ... etc

Loadbalancers

  • Loadbalancers on all cloud platforms
  • Kubernetes Ingress
  • IPVS (LVS)
  • F5
  • ...etc

MQTT Proxies

  • NGINX+
  • MQTT.Cool
  • Mainflux MProxy
  • ... etc

Blog Post about Proxies and MQTT

HAProxy

Traefik

https://jurian.slui.mn/posts/smqttt-or-secure-mqtt-over-traefik/

traefik: node-red + mosquitto using letsencrypt: https://gist.github.com/natcl/ed8253a34e7b87d879baabeba82cb846

Amazon

  • CLB (Classic Load Balancer)
  • ALB (Application Load Balancer)
  • NLB (Network Load Balancer)

Azure

  • Load Balancer

Google Cloud

Links to Official Documentation

MetalLB: https://metallb.universe.tf/

HAProxy Enterprise: https://www.haproxy.com/documentation/hapee/

HAProxy Ingress: https://haproxy-ingress.github.io/about/ Github: https://github.com/jcmoraisjr/haproxy-ingress

HAProxy Ingress Controller: https://github.com/haproxytech/kubernetes-ingress#readme

HAProxy Community Edition: http://www.haproxy.org/#docs

NGINX: https://nginx.org/en/docs/

NGINX (commercial editions): https://docs.nginx.com/

Kubernetes:

Wiki Topics

TLS termination

Loadbalancing Strategies

WebSockets

Proxy Protocol

Know Issues for different LBs/Proxies

Protocol (MQTT) awareness

Quickstarts

DNS topics

Kubernetes Ingress

Interesting Blog Posts and Resources

vmq-proxy-configs's People

Contributors

ioolkos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vmq-proxy-configs's Issues

Production Haproxy Config

Has anyone used haproxy in production as loadbalancer for vernemq cluster.
I have seen many haproxy configs for MQTT on many blogs, but none of them seems to properly setting timeout server, timeout client, sticky session, loadbalance method etc.

I was wondering, if anyone can share a production config for haproxy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.