Tencent hat eine neue Version veröffentlicht F-Stack 1.13, ein Framework basierend auf DPDK und dem FreeBSD TCP/IP-Stack. Die Hauptplattform für das Framework ist Linux. Der Code wird unter der BSD-Lizenz vertrieben.
Das Framework ermöglicht es Anwendungen, den Betriebssystem-Stack zu umgehen und stattdessen einen im User-Space implementierten Stack zu verwenden, der direkt mit Netzwerk-Hardware zusammenarbeitet.
Zu den genannten Merkmalen des Frameworks gehören:
- Volle Auslastung der Netzwerkkarten: 10 Millionen aktive Netzwerkverbindungen, 5 Millionen RPS und 1 Million CPS wurden erreicht
- Der Userspace-Stack wurde von FreeBSD 11 migriert und viele nicht wesentliche Funktionen entfernt, was die Netzwerkleistung erheblich verbesserte
- Nginx- und Redis-Unterstützung. Auch andere Anwendungen können F-Stack nutzen
- Einfache Erweiterung durch Multiprozessarchitektur
- Bietet Unterstützung für Mikroflüsse. Verschiedene Anwendungen können F-Stack nutzen, um die Leistung zu verbessern, ohne komplexe asynchrone Logik implementieren zu müssen
- Standard-Epoll/Kqueue-APIs werden unterstützt
In der neuen Version:
- Schnittstellen ff_dup, ff_dup2, ff_ioctl_freebsd, ff_getsockopt_freebsd, ff_setsockopt_freebsd hinzugefügt
- Option „idle_sleep“ hinzugefügt, um die CPU-Auslastung zu reduzieren, wenn keine eingehenden Pakete eingehen
- Arm64-Unterstützung hinzugefügt
- Docker-Unterstützung hinzugefügt
- VLAN-Unterstützung hinzugefügt
- In der Nginx-Implementierung für F-Stack wurden die Funktionen getpeername, getsockname und Shutdown ersetzt
- DPDK wurde auf Version 17.11.4 LTS aktualisiert
Source: linux.org.ru