NATS Consumer
ΠΠΎΠ½ΡΡΡΠΌΠ΅Ρ (consumer) Π² JetStream β ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅βΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ Β«ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅Β» ΡΡΡΠΈΠΌΠ°: ΠΎΠ½ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΡΠΈΠΌΠ° ΠΈ Π²Π΅Π΄ΡΡ ΡΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Ρ (ack), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (at-least-once).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΊΠΎΠ½ΡΡΡΠΌΠ΅ΡΠΎΠ²:
-
ΠΠΎ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
- Push β ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΠΌ ΠΏΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ subject.
- Pull β ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΌ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π±Π°ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ.
-
ΠΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ:
- Durable β Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (offset ΠΈ ΠΏΡ.) ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅.
- Ephemeral β Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ.
-
ΠΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ/Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
- Ordered consumer (ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ) β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ:
- Π²ΡΠ΅Π³Π΄Π° ephemeral
- Π±Π΅Π· ack
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»ΠΎΡβΠΊΠΎΠ½ΡΡΠΎΠ»Ρ
- Π½Π΅Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
- Ordered consumer (ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ) β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ: