Puncte:1

Înghețarea cgroup așteaptă ca bufferele de trimitere TCP să fie spălate?

drapel gh

Ce garanții există pentru spălarea bufferelor de trimitere TCP, dacă există, atunci când subsistem congelator îngheață un cgroup?

Luați în considerare următorul scenariu: Server A, care rulează într-un cgroup, trimite date către Server B prin TCP. Socket-ul TCP este configurat să utilizeze algoritmul lui Naggle ( TCP_NODELAY opțiunea nu este setată). Prin urmare, trimiteTransferarea datelor peste socket nu blochează ACK-ul serverului B, ci revine după ce datele de trimis au fost copiate în bufferul de trimitere TCP. După aceea, dar înainte ca datele să fie trimise către Server B, cgroup-ul este înghețat.

Ce se întâmplă cu datele din bufferul de trimitere TCP?

  • Operația de înghețare va aștepta până când toate datele din buffer vor fi confirmate de serverul B? Ce se întâmplă dacă tamponul de recepție al serverului B este plin? Înghețarea va aștepta la nesfârșit confirmarea serverului B?
  • Înghețarea nu va aștepta ACK-ul serverului B și va continua să trimită datele după ce cgroup-ul a fost dezghețat? Dacă întârzierea dintre înghețare și dezghețare este suficient de mare pentru ca serverul B să închidă conexiunea TCP, datele din buffer se vor pierde.

Sunt apreciate link-urile către specificații și garanții în jurul acestui comportament. Dar poate că nu există garanții, așa că a te baza pe oricare dintre comportamente ar fi fragil?

Fundalul întrebării este că mă întreb cât de atent trebuie să fie atunci când trimiteți date prin TCP pe AWS Lambda (presupunerea mea este că AWS Lambda folosește cgroups pentru a îngheța/dezgheța după/înainte de gestionarea unei invocari Lambda). Este suficient să ștergeți bufferele aplicației în socket-ul TCP/tamponul de trimitere TCP? Sau trebuie să vă asigurați că serverul B a primit datele de pe stratul de aplicație, de exemplu folosind HTTP și așteptând răspunsul HTTP al serverului?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.