â Bonnes pratiques
Suivez ces recommandations pour obtenir la livraison de shreds la plus fiable et la plus rapide avec ShredStream.com.
Vous utilisez notre SDK ? Le SDK configure automatiquement le tampon socket (25 Mo par dĂ©faut) et gĂšre la validation des paquets. Vous devez quand mĂȘme configurer les paramĂštres sysctl au niveau OS et pouvez bĂ©nĂ©ficier des recommandations de monitoring et de redondance ci-dessous.
đ Dimensionnement du tampon UDP
Le changement de configuration le plus impactant est l'augmentation de votre tampon de réception UDP. ShredStream.com peut livrer des milliers de shreds par seconde, et le tampon par défaut du systÚme d'exploitation est bien trop petit.
Configurez un minimum de 25 Mo :
# Appliquer immĂ©diatement (Linux)sudo sysctl -w net.core.rmem_max=26214400sudo sysctl -w net.core.rmem_default=26214400# Rendre persistant aprĂšs redĂ©marrage â ajouter Ă /etc/sysctl.confnet.core.rmem_max=26214400net.core.rmem_default=26214400
Puis demandez la taille du tampon dans le code de votre application :
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))
Remarque sur le doublement des tampons sous Linux : Linux double en interne la valeur du tampon que vous passez Ă
setsockopt(). Lorsque vous demandez 25 Mo, le noyau alloue 50 Mo (la moitiĂ© pour les donnĂ©es, l'autre moitiĂ© pour la gestion interne du noyau). Le paramĂštre sysctlrmem_maxdoit ĂȘtre d'au moins 25 Mo pour que la requĂȘte aboutisse.
đ Redondance et basculement
Pour les systĂšmes de production oĂč la disponibilitĂ© est critique, prĂ©voyez de la redondance.
- Streams multi-rĂ©gions -- CrĂ©ez des streams dans deux rĂ©gions ou plus. Si une rĂ©gion rencontre un problĂšme, l'autre continue la livraison. DĂ©dupliquez les shreds entrants en utilisant la paire (slot, index) pour Ă©viter de traiter les mĂȘmes donnĂ©es deux fois.
- Serveurs de secours actifs -- Exécutez un second récepteur sur une machine différente. Les deux peuvent écouter simultanément ; votre pipeline de traitement déduplique en aval.
- Basculement d'IP -- Utilisez une IP flottante ou une Elastic IP qui peut ĂȘtre rĂ©assignĂ©e rapidement. Mettez Ă jour la destination du stream depuis le tableau de bord lorsque vous basculez le trafic vers un serveur de secours.
â Liste de vĂ©rification rĂ©capitulative
- Tampon de réception UDP configuré à 25 Mo ou plus
- Socket liĂ© Ă
0.0.0.0, et non127.0.0.1 - Thread de réception isolé de la logique de traitement
- Streams redondants dans plusieurs régions (pour les charges de production)