â Best Practices
Befolgen Sie diese Empfehlungen, um die zuverlÀssigste und latenzÀrmste Shred-Zustellung von ShredStream.com zu erhalten.
Sie verwenden unser SDK? Das SDK konfiguriert den Socket-Empfangspuffer automatisch (standardmĂ€Ăig 25 MB) und ĂŒbernimmt die Paketvalidierung. Die OS-Level-sysctl-Einstellungen unten mĂŒssen Sie dennoch konfigurieren, und Sie profitieren auch von den Empfehlungen zu Monitoring und Redundanz.
đ UDP-Buffer-Dimensionierung
Die wirkungsvollste KonfigurationsĂ€nderung ist die VergröĂerung Ihres UDP-Empfangspuffers. ShredStream.com kann Tausende von shreds pro Sekunde liefern, und der Standard-OS-Buffer ist bei Weitem zu klein.
Setzen Sie mindestens 25 MB:
# Apply immediately (Linux)sudo sysctl -w net.core.rmem_max=26214400sudo sysctl -w net.core.rmem_default=26214400# Persist across reboots â add to /etc/sysctl.confnet.core.rmem_max=26214400net.core.rmem_default=26214400
Fordern Sie anschlieĂend die Buffer-GröĂe in Ihrem Anwendungscode an:
import socketsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 25 * 1024 * 1024)sock.bind(("0.0.0.0", 8001))
Hinweis zum Linux-Buffer-Doubling: Linux verdoppelt intern den Buffer-Wert, den Sie an
setsockopt()ĂŒbergeben. Wenn Sie 25 MB anfordern, allokiert der Kernel 50 MB (die HĂ€lfte fĂŒr Daten, die andere HĂ€lfte fĂŒr Kernel-Buchhaltung). Derrmem_max-sysctl-Wert muss mindestens 25 MB betragen, damit die Anforderung erfolgreich ist.
đ Redundanz und Failover
FĂŒr Produktionssysteme, bei denen VerfĂŒgbarkeit entscheidend ist, planen Sie Redundanz ein.
- Multi-Region-Streams -- Erstellen Sie Streams in zwei oder mehr Regionen. Falls eine Region ein Problem hat, liefert die andere weiter. Deduplizieren Sie eingehende shreds anhand des (slot, index)-Paars, um doppelte Verarbeitung zu vermeiden.
- Hot-Standby-Server -- Betreiben Sie einen zweiten EmpfÀnger auf einer anderen Maschine. Beide können gleichzeitig lauschen; Ihre Verarbeitungspipeline dedupliziert nachgelagert.
- IP-Failover -- Verwenden Sie eine Floating-IP oder Elastic IP, die schnell umgewiesen werden kann. Aktualisieren Sie das Stream-Ziel ĂŒber das Dashboard, wenn Sie den Verkehr auf einen Standby-Server umleiten.
â Zusammenfassende Checkliste
- UDP-Empfangspuffer auf 25 MB oder höher gesetzt
- Socket an
0.0.0.0gebunden, nicht an127.0.0.1 - Empfangs-Thread von der Verarbeitungslogik isoliert
- Redundante Streams in mehreren Regionen (fĂŒr Produktions-Workloads)