Jedno żądanie, jeden wynik: laboratorium WebSocket
Interaktywna analiza identyfikatorów żądań, limitów czasu i obsługi duplikatów oraz granic, dzięki którym mała symulacja jest użyteczna.
Lab Projektowanie protokołów · Ukończony
Interaktywny Lab o identyfikatorach żądań, limitach czasu, błędach serwera i duplikatach. Zmieniaj warunki i obserwuj wynik każdej operacji.
Wypróbuj eksperyment ↓
Lab / 01
Co się stanie, gdy odpowiedź się spóźni, zwróci błąd lub dotrze dwa razy? Zmień warunki, wyślij żądanie i obserwuj wynik.
Symulacja lokalna w przeglądarce · bez połączenia z serwerem
| ID żądania | Status | Opóźnienie / limit | Dod. kopie |
|---|
Nie ma jeszcze żądań. Wybierz scenariusz lub ustaw własne warunki.
Do 40 operacji i 100 ostatnich zdarzeń w jednym przebiegu. Wyczyść przebieg, aby zacząć ponownie.
Problem
Kanał wiadomości nie określa, jak produkt powinien dopasowywać odpowiedzi, kończyć oczekiwanie i obsługiwać powtórzone żądania. Potrzebny jest jawny protokół aplikacji.
Ograniczenia
Moja rola
Zbudowałem lokalną symulację w przeglądarce, która pokazuje cykl życia żądań dzięki ustawieniom warunków i dziennikowi zdarzeń.
Kluczowe decyzje
Każda operacja ma unikalny ID. Duplikaty zachowują go i pozostają jedną operacją logiczną.
Sukces, błąd aplikacji lub limit czasu kończą oczekiwanie. Spóźnione i dodatkowe odpowiedzi pozostają w dzienniku, ale nie zmieniają wyniku.
Symulowany serwer oblicza jeden wynik na ID. Kopie odtwarzają go bez ponownego wykonania. To model edukacyjny, a nie trwały magazyn kluczy idempotencji.
Rezultaty
Wnioski
Błędy oznaczają tu odpowiedzi aplikacji, a nie utratę pakietów. Model pomija nawiązywanie połączenia, ponowne łączenie, uwierzytelnianie i trwałe przechowywanie. Artykuł towarzyszący wyjaśnia znaczenie tych granic.