Bosh sahifa Wiki Streaming

Streaming

Streaming — ma’lumotni to‘liq to‘plam tayyor bo‘lishini kutmasdan, uzluksiz yoki qismlarga bo‘lingan oqim sifatida ishlab chiqish va uzatish modelidir. U media yetkazish, event processing, log pipeline, network protokollari va katta fayllarni qayta ishlashda qo‘llanadi. Stream cheklangan ham, cheksiz ham bo‘lishi mumkin.

Oqim modeli

Producer element yoki byte chunklarni yaratadi, consumer ularni ketma-ket qabul qiladi. Oqim push modelida producer yuboradi, pull modelida consumer talab qiladi. Ko‘p frameworklar ikkala tomon tezligini muvofiqlashtiradigan demand signalidan foydalanadi.

Batch processing belgilangan data to‘plamini bir ishda qayta ishlaydi. Streaming har hodisani yoki kichik micro-batchni tez qayta ishlaydi. Bu latency’ni kamaytiradi, lekin state, kech kelgan event va cheksiz resurslarni boshqarishni murakkablashtiradi.

Backpressure

Producer consumerdan tez bo‘lsa buffer to‘ladi. Cheksiz buffer faqat xotira tugashini kechiktiradi. Backpressure producerga tezlikni pasaytirish, partitiondan o‘qishni vaqtincha to‘xtatish yoki faqat talab qilingan elementni yuborish imkonini beradi.

Real-time media’da eski frame’ni tashlash kechikishni cheklashi mumkin. Moliyaviy eventda drop qabul qilinmasligi mumkin, shunda persistent queue va upstream throttling kerak. Block, drop, sample yoki spill-to-disk siyosati oqim ma’nosiga bog‘liq.

Tartib va delivery

Global order ta’minlash parallelizmni cheklaydi. Event broker ko‘pincha faqat bir partition ichida tartib kafolatlaydi. Bir entity hodisalari bir routing key bilan bir partitionga yuborilsa lokal order saqlanadi, ammo hot key yukni notekis taqsimlaydi.

At-most-once duplicate bermaydi, lekin yo‘qotishi mumkin. At-least-once qayta yetkazadi, consumer idempotent bo‘lishi kerak. Exactly-once faqat transaction, offset va sink state muvofiqlashtirilgan aniq chegara ichida kafolatlanadi. Tashqi email yuborish kabi side effect bu chegaradan tashqarida qolishi mumkin.

Vaqt va oynalar

Event time hodisa manbada yuz bergan vaqt, processing time tizim uni qayta ishlagan vaqtdir. Network kechikishi sabab tartibsiz kelish tabiiy. Watermark qaysi event timegacha ma’lumot deyarli to‘liq deb hisoblanishini belgilaydi.

Tumbling window kesishmaydigan davrlar, sliding window ustma-ust oraliqlar, session window activity tanaffusi asosida guruhlaydi. Late event yopilgan oynani yangilashi, alohida oqimga tushishi yoki tashlanishi mumkin. Natija correction semantikasi consumerga ma’lum bo‘lishi kerak.

State va checkpoint

Count, join yoki pattern detection operatori hodisalar orasida state saqlaydi. State hajmi key cardinality va retention bilan o‘sadi. TTL eski keylarni tozalaydi, ammo juda qisqa TTL qonuniy kech eventni noto‘g‘ri hisoblaydi.

Checkpoint operator state va source offsetini barqaror storagega yozadi. Failure’dan keyin topology shu nuqtadan tiklanadi. Checkpoint uzoq olsa storage va network bottleneck bo‘lishi mumkin. Schema yoki kod versiyasi eski state’ni o‘qiy olishi upgrade rejasida tekshiriladi.

Network va media oqimi

Byte streaming katta response’ni to‘liq xotiraga olmasdan yuboradi. Chunk chegarasi application record chegarasiga teng bo‘lmasligi mumkin; parser partial recordni buffer qiladi. Connection uzilganda range yoki application checkpoint orqali davom ettirish mumkin.

Audio-video streaming bitrate, jitter buffer va adaptive qualitydan foydalanadi. Bandwidth pasaysa client pastroq segment sifatini tanlaydi. Encryption va content authorization har segment yoki sessiya darajasida qo‘llanadi.

Replay va observability

Durable event log consumerga oldingi offsetdan qayta o‘qish imkonini beradi. Replay yangi kodni tarixiy eventlarda sinash yoki buzilgan sinkni tiklash uchun ishlatiladi, ammo tashqi side effectlar qayta bajarilmasligi kerak. Pipeline lag joriy head bilan consumer offseti orasidagi masofani ko‘rsatadi. Faqat message soni yetarli emas: eng eski qayta ishlanmagan hodisa yoshi real kechikishni bildiradi. Throughput, processing latency, watermark delay, retry va dropped eventlar alohida kuzatiladi.

Bog‘liq tushunchalar

Backpressure, Event stream, Windowing, Watermark, Message broker, Checkpoint, Adaptive bitrate