Vrstva QUIC: budoucnost síťové komunikace

Automaticky přeloženo z Deepl

Nejvýznamnější produkční servery se systémem 4D přijímají více než tisíc současných připojení a tento počet neustále roste. V důsledku toho se výkon stává stále důležitějším bodem zájmu našich týmů. Protokol QUIC, který používá nová verze standardu HTTP, byl speciálně vytvořen pro zvýšení rychlosti a spolehlivosti. Protože neustále hledáme zajímavé technologie, pracujeme na nahrazení našeho nízkoúrovňového síťového protokolu protokolem QUIC.

U verze v20 můžete na tuto síťovou vrstvu přepnout a vyzkoušet, zda se tím zlepší výkon. Tato vrstva je stále ve fázi beta testování, protože potřebujeme vaši zpětnou vazbu, než ji začneme používat jako výchozí síťovou vrstvu. Proto ji budete moci používat pouze v beta verzích 4D.

QUIC, což je zkratka pro Quick UDP Internet Connections, vznikla z iniciativy společnosti Google před deseti lety. V květnu 2021 byl oficiálně standardizován organizací IETF a přijat jako protokol pro připojení HTTP/3.

V průběhu věků používalo 4D několik různých síťových vrstev. První z nich, kterou obecně nazýváme „Legacy“, spotřebovávala při nečinnosti příliš mnoho procesoru. Vrstva ServerNet tento drobný problém vyřešila a přinesla funkce, jako je podpora režimu spánku počítače, ale stále si žádá neustálé připojení, což v nestabilních sítích není ideální. U obou těchto vrstev jsme narazili na strop; není zde mnoho prostoru pro zlepšení.

Na rozdíl od předchozích vrstev pracujících přes TCP používá QUIC k přenosu svých paketů protokol UDP. To umožňuje rychlejší obnovu v případě ztráty paketů, přetížení a různých problémů v síti. A naše předběžné testy ukazují, že QUIC plní své sliby: když se ping zvýší, QUIC dokáže být rychlejší než naše ostatní síťové vrstvy a v případě ztráty paketů je nárůst rychlosti neuvěřitelný. Pozitivně nás překvapila celková stabilita protokolu a naším cílem je, aby tato síťová vrstva byla tou nejstabilnější, jakou jste kdy poznali.

Během beta testování verze v20 můžete tuto vrstvu aktivovat prostřednictvím stránky Kompatibilita v Nastavení struktury. Nezapomeňte, že vzhledem k tomu, že QUIC pracuje na protokolu UDP, je třeba, aby vaše směrovače a brány firewall přijímaly připojení UDP. Druhým důležitým bodem je, že aplikační i databázový server budou nyní naslouchat na stejném portu (ve výchozím nastavení 19813) díky tomu, že QUIC sdružuje veškerou síťovou komunikaci do jednoho socketu, místo aby otevíral jeden socket pro každý proces jako dříve. Komunikace QUIC je také nutně šifrována pomocí TLS. Neváhejte ji otestovat na své infrastruktuře. Vaši zpětnou vazbu využijeme k jejímu vylepšení.

Mezitím, pokud máte dotazy nebo připomínky, neváhejte s nimi přijít na fórum 4D.

Nicolas Brachfogel
• Product Owner & Senior Developer • Nicolas Brachfogel nastoupil do 4D v roce 2017 jako senior vývojář (4D server a sítě). Jako Product Owner, který řídí vydání Apple Silicon, má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací a také zajišťuje, aby implementace funkcí vyhovovaly potřebám zákazníků. Nicolas, absolvent Institut Supérieur d'Informatique Appliquée (INSIA), začal svou kariéru jako softwarový vývojář v roce 2001. Po několika letech kódování v Javě a C++ se specializoval na vývoj klient-server pro společnosti zabývající se videohrami. Jako serverový vývojář/architekt úspěšně pracoval na serverových architekturách mnoha her (Dofus Arena, Drakerz, Trivial Pursuit Go!).