NATS Stream DuplicateWindow
DuplicateWindow β Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Β«ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎΒ» Π΄Π»Ρ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΡΠΈΠΌΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Nats-Msg-Id.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
- ΠΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ
Nats-Msg-Id(ΡΠ΅ΡΠ΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠ»ΠΈ API ΠΊΠ»ΠΈΠ΅Π½ΡΠ°). - JetStream Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Ρ, Π½Π° Π²ΡΠ΅ΠΌΡ, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²
DuplicateWindow. - ΠΡΠ»ΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΡΡΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΌ ΠΆΠ΅
Nats-Msg-Id(Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ subject), ΠΎΠ½ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠΌ ΠΈ:- Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π² ΡΡΡΠΈΠΌ;
- ΠΏΡΠΎΠ΄ΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ack, ΡΡΠΎ Β«ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎΒ», Ρ ΠΎΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·.
- ΠΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ
DuplicateWindowΡΠΎΡ ΠΆΠ΅Nats-Msg-IdΠ±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ΅.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ (retries) ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΠ΄ΡΡΡΠ΅ΡΠ°.
- ΠΠ°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² ΠΏΡΠΈ:
- ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ°Ρ ;
- ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡΠ° (ΠΏΡΠΎΠ΄ΡΡΡΠ΅Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ack ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ Π΅ΡΡ ΡΠ°Π·).
Π§ΡΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ
DuplicateWindow:- Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ, ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΠ΅ ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠΊΠ½Π°, Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΡΡΡΠΈΠΌ.
- Π‘Π»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ
DuplicateWindow:- ΡΠ°ΡΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ
Nats-Msg-Id; - ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΈ Π½Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ.
- ΡΠ°ΡΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ
- Π’ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄:
- Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΠΊΠ½ΠΎ, ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎΠ΅ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ack ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ retry-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΎΠ΄ΡΡΠ΅ΡΠ°.