Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| knb:meet-server [2020/03/21 10:36] – [Videobridges for loadbalancing] awickert | knb:meet-server [2020/09/02 07:46] (aktuell) – Django | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== | + | ~~NOTOC~~ |
| + | /* *** Titelbalken *** */ | ||
| + | <WRAP center box 100%> | ||
| + | <fs xx-large>< | ||
| + | {{ : | ||
| + | </ | ||
| ==== Brief overview ==== | ==== Brief overview ==== | ||
| The setup consists of multiple Jitsi videobridges which can be added and removed on demand as well as one control server which does the loadbalancing decisions. | The setup consists of multiple Jitsi videobridges which can be added and removed on demand as well as one control server which does the loadbalancing decisions. | ||
| - | Each server has at least 2vCPUs, 4GB RAM and 10GB disc space. But the most important thing is bandwidth so a 1Gbit/s link is necessary for smooth operation. | + | Each server has at least 8vCPUs, 16GB RAM and 10GB disc space. But the most important thing is bandwidth so a 1Gbit/s link is necessary for smooth operation. |
| + | |||
| + | The more CPUs you have the better, also you need good network hardware as you can expect many pps. | ||
| + | |||
| + | <WRAP center round alert 60%> | ||
| + | This page is outdated at the moment we don't use pubsub anymore but switched to MUC and do OCTO. | ||
| + | </ | ||
| + | |||
| + | We did some presentations about the setup you can find them at [[https:// | ||
| + | |||
| + | If you want to ask us questions join our [[https:// | ||
| ===== Initial setup (control server) ===== | ===== Initial setup (control server) ===== | ||
| - | We installed the first instance as described on https:// | + | We installed the first instance as described on https:// |
| Disable the videobridge: | Disable the videobridge: | ||
| Zeile 21: | Zeile 37: | ||
| defaultLanguage: | defaultLanguage: | ||
| disableThirdPartyRequests: | disableThirdPartyRequests: | ||
| + | p2p: { enabled: false }, | ||
| enableLipSync: | enableLipSync: | ||
| </ | </ | ||
| + | |||
| + | |||
| ==== Prosody Setup for loadbalancing (control server) ==== | ==== Prosody Setup for loadbalancing (control server) ==== | ||
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| - | Most important thing is to get hostnames and DNS settings correct for each instance, otherwise your setup will fail.</ | + | Most important thing is to get hostnames and DNS settings correct for each instance, otherwise your setup will fail. |
| + | </ | ||
| Zeile 38: | Zeile 58: | ||
| " | " | ||
| " | " | ||
| - | "jvb3.meet.ffmuc.net", | + | " |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | "jvb15.meet.ffmuc.net" | + | |
| } | } | ||
| + | </ | ||
| + | |||
| + | As we want to scale beyond 1024 connections we also switch to epoll in prosody.cfg.lua. | ||
| + | < | ||
| + | -- for better scaling | ||
| + | -- https:// | ||
| + | network_backend = " | ||
| + | </ | ||
| + | |||
| + | And as we want external videobridges we need to listen on the external interface and not just localhost: | ||
| + | < | ||
| + | component_interface = " | ||
| </ | </ | ||
| Zeile 62: | Zeile 82: | ||
| component_secret = " | component_secret = " | ||
| Component " | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| - | component_secret = " | ||
| - | Component " | ||
| component_secret = " | component_secret = " | ||
| </ | </ | ||
| Zeile 91: | Zeile 87: | ||
| ==== Videobridges for loadbalancing ==== | ==== Videobridges for loadbalancing ==== | ||
| - | On those servers **only** the jitsi-videobridge | + | On those servers **only** the '' |
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| Zeile 97: | Zeile 93: | ||
| </ | </ | ||
| - | First you need to change / | + | First you need to change |
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| Zeile 104: | Zeile 100: | ||
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| - | The " | + | The " |
| We also enable statistics for later polling via Telegraf (--apis). | We also enable statistics for later polling via Telegraf (--apis). | ||
| Zeile 151: | Zeile 147: | ||
| We use telegraf to poll the statistics of the videobridges. We just use the exec section of Telegraf, to get the data. | We use telegraf to poll the statistics of the videobridges. We just use the exec section of Telegraf, to get the data. | ||
| - | Example: https:// | + | |
| + | Example: | ||
| / | / | ||
| Zeile 160: | Zeile 157: | ||
| ] | ] | ||
| | | ||
| - | | + | data_format = " |
| </ | </ | ||
| + | |||
| + | ===== Hint for smooth operation ===== | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Use Chrome or it's derivates as client. The Mobile and Desktop Apps of jitsi-meet work as well. | ||
| + | |||
| + | Avoid using Firefox! It causes problems for the Firefox-user but as well the other parties which do not use Firefox. | ||
| + | </ | ||