İş parçacığı önceliklendirmesi
1) Önceliklendirme neden gereklidir?
Yükün artmasıyla'her şey önemli "," hiçbir şey için zamanımız yok'a dönüşür. İş parçacığı önceliklendirmesi, iş parçacıkları/işler/kiracılar arasında sınırlı kaynakları (CPU, I/O, ağ, bütçe) tahsis etmenin bir sistem yoludur, böylece kritik SLO'lar gerçekleştirilir ve maliyet kontrol edilir. Sonuç, öngörülebilir pencere tazeliği, sorunsuz uyarılar ve kararlı yeniden sayım pencereleridir.
2) Akış taksonomisi ve önem kriterleri
Sınıflandırma eksenleri:- Zaman: Gerçek/neredeyse gerçek zamanlı (saniye-dakika), etkileşimli (dakika), çevrimdışı/toplu (saat).
- Kritiklik: finansal/düzenleyici, olay, ürün, araştırma.
- Bağımlılıklar: Diğer vitrinler için kaynaklar (yukarı akış) vs aşağı akış.
- Kesinti süresi maliyeti: dakika/saat gecikme başına hasar (SLO ihlal maliyeti).
- Kiracılık: iç ekip, ortak, dış müşteri.
Uygulama: Her sınıf - İş Önceliği (BP) ve Teknik Öncelik (TP); Toplam - kompozit önceliği 'P = w1BP + w2TP + w3CostRisk'.
3) Akışlar için SLA/SLO/SI modeli
SLA: sözleşme garantisi (örn. "finansal vitrin T + 15 dk, 99. 9%»).
SLO: mühendislik hedefleri (p95 tazelik ≤ 10 dakika; P99 gecikme ≤ 60 saniye).
SI (Saturation Index): Mevcut yükün sınırlara oranı; zamanlayıcı tarafından kullanılır.
Korkuluklar: korkuluk metrikleri (örn. doğrulama hataları, eksiklikler) onarım akışlarının önceliğini geçici olarak artırabilir.
4) Hizmet Sınıfları (QoS) ve Politikalar
Altın (iş açısından kritik): ödemeler, dolandırıcılıkla mücadele, düzenleyici raporlar, olay uyarıları.
Gümüş (ürün açısından kritik): Yönetim panoları, kampanyalar, risk puanlaması için vitrinler.
Bronz (en iyi çaba): araştırma grupları, uzun yeniden inşa ve geniş pencereler doldurun.
- Sıkı Öncelik (SP): Altın her zaman önde; Aşağıların açlık riski.
- Ağırlıklı Adil Kuyruk (WFQ): Trafik/İş Ağırlıkları, Adalet Kontrolü.
- Deficit Round-Robin (DRR): Kısım işleme kotaları, ağ/akış ana bilgisayarları için iyidir.
- Deadline-aware: Yakın bir tarihe sahip görevler bir destek alır.
- Maliyet farkındalığı: "pahalı saat've SLO izin veriyorsa yeniden hesaplama gecikir.
5) Zamanlayıcılar ve kuyruklar (seviyelerde)
Alma/alma seviyesi (etkinlik otobüsü):- Konular/kuyruklar QoS sınıflarına ayrılır; Üretici sınırları; Kota ile Backpressure.
- Politika oranı limiti + patlamalar için patlama belirteçleri (token bucket).
- Kaynak havuzları/kümeleri sınıfa göre: Gold için ayrı yürütücüler.
- Preemption: Kaynakların en düşük açıktan seçilmesi (frekans sınırlaması ile).
- Kabul kontrolü: bütçe ve SLO'ya göre giriş filtresi; Penceresiz "pahalı" işlerin reddedilmesi.
- Rekabetçi I/O ve öncelikli istek kuyrukları.
- Materyalize görünümler: Altın - artımlı, Gümüş - periyodik, Bronz - planlı/gece pencereleri.
6) Geri basınç, sınırlar ve sistem koruması
Geri basınç sinyalleri: tüketiciden üreticiye (gecikme/gecikme/kuyruk derinliği).
İstek/iş sınırları: taranan baytlar, döndürülen satırlar, duvar zamanı kapakları.
Devre Kesiciler: aşırı yük altında - basitleştirilmiş birimlere veya "sıcak" anlık görüntülere bozunma.
Shed-load: Kritik olanları kurtarmak için en iyi çaba akışlarını sıfırlama/düzeltme.
7) Çok kiracılık ve'adalet "
Kiracılar için kotalar: CPU/IO/birim zaman başına maliyet.
Sorgu sınıfları için ağırlıklar: analitik, raporlar, ML özellikleri - farklı sınırlar.
Bütçe zarfları: haftalık/aylık tavanlar; Tükendiğinde - önceliği düşürmek, off-peak'e geçmek.
8) Maliyet ve "önceliklendirme ekonomisi"
Tazelik Maliyeti: Tazeliği artırmak için 1 dakika maliyeti.
Maliyet bilincine sahip planlama: Bronz zirveden uzaklaşır; Dolgu - "ucuz saatlerde".
Spot/Preemptible: düşük öncelikli - önlenebilir kaynakların kullanımı için.
Sorgu profilleme: "pahalı" şablonların kara listeleri; otomatik yeniden yazma.
9) Toplu önceliklendirme
Pencere takvimi: Gümüş/Bronzdan önce Altın için pencereleri düzeltin.
Bağımlılığa duyarlı DAG: Upstream Gold modelleri, kaskadın kilidini açmak için erken bir yuva alır.
Önce artımlı: önce artımlı partiler, sonra "soğuk" yeniden inşa.
Checkpointing - ilerlemenin kaybedilmesini önlemek için.
10) Akış için önceliklendirme
Öncelikli taraflar: Altın konularında daha fazla tüketici örneği.
Sınıfa göre filigranlar: Altın için - dar gecikme pencereleri; Bronz için - daha geniş (geç olaylar için daha yüksek tolerans).
Dedup ve idempotent lavabolar: Altın için - sıkı; Bronz için - sezgisel.
Uyarılar: Altın uyarılar, artan QoS ile ayrı bir kanaldan geçer.
11) Sinyaller ve otomatik öncelik değişikliği
Etkinlik tetikleyicileri: ani trafik, olay, promosyon kampanyası - geçici Altın/Gümüş artışı.
SLA tehdidi: tazelik bozulmasının tahmini - belirli bir vitrinin otomatik olarak artırılması.
Veri Kalitesi: kütle çiftleri/kayıpları - onarım akışlarının önceliğini arttırmak.
Finansal risk: ters ibraz büyümesi - puanlama/uyarı önceliği.
12) Gözlemlenebilirlik: ne izlenecek
Kuyruklar/gecikme: uzunluk, bekleme süresi, sınıfa göre p95/p99 gecikmeleri.
SLO panosu: tazelik/gecikme/katman başına hatalar (yutmak, küratörlü, mart).
Maliyet: Sınıf/kiracı başına maliyet; bütçeden sapmalar.
Preemption: sıklık, ilerleme kaybı, veri MTTR.
Öncelikli aritmetik: mevcut 'P', güçlendirmelerin nedenleri, zamanlayıcı kararlarının geçmişi.
13) Politika yönetimi
Yapılandırma kodundaki ilkeler (kod olarak ilke), sürüm oluşturma ve inceleme.
Uygulamadan önce kuru çalıştırma: Programın/maliyetin nasıl değişeceği.
Kanarya dahil etme: kümelerin bir kısmı yeni ağırlıklara/kurallara geçer.
Runbooks: Aşırı yüklendiğinde ne yapmalı, sınıfı geçici olarak nasıl düşürmeli, nasıl geri dönmeli.
14) Antipatterns
"Her şey altın. "Önceliklendirme anlamını yitirir; Kaynaklar için savaşlar başlar.
Oruç koruması olmadan sıkı SP. Gümüş/Bronz asla tamamlanmaz.
Giriş kontrolü yok. "Pahalı" istekler sisteme girer ve herkesi bırakır.
Maliyet bilincinin eksikliği. "Pahalı saatlerde'ağır dolgu yapıyoruz.
OLTP/OLAP karışımı. Kritik işlemler analitikten muzdariptir.
RLS/CLS olmadan hibrit veri. Onarım/öncelik yanlışlıkla hassas alanları ortaya çıkarır.
15) Uygulama Yol Haritası
1. Keşif: iş parçacıklarının, bağımlılıkların ve sahiplerin envanteri; SLO ve kesinti maliyetlerini değerlendirmek.
2. QoS sınıfları: Altın/Gümüş/Bronz, ağırlık ve taban sınırlarını tanımlar; Kod olarak bir politika oluşturun.
3. Zamanlayıcı ve havuzlar: bölünmüş kümeler/kaynak havuzları, kabul kontrolünü sağlar.
4. İzleme: SLO panoları/gecikme/maliyet; SLO ve bütçe ihlali tehdidine karşı uyarır.
5. Otomatik güçlendirme: Sinyallerin (olaylar, kampanyalar, DQ) öncelikli değişime entegrasyonu.
6. Maliyet bilincine sahip: yoğun olmayan programlar, spot kaynaklar, "pahalı" isteklerin profili.
7. Sertleşme: önleyici güvenli kontrol noktaları, runbook'lar, kanarya politikaları, kaos testleri.
16) Yayın öncesi kontrol listesi
- QoS sınıfı, sahibi, SLO ve kesinti süresi maliyeti tüm akışlar için tanımlanmıştır.
- Yapılandırılmış havuzlar/kümeler ve giriş kontrolü, CPU/IO/tarama sınırları.
- Geri basınç ve hız limitleri yutmak/tüketiciler üzerinde etkindir.
- Önceliklendirme politikaları kod olarak tasarlanmıştır; Bir kuru çalıştırma ve bir inceleme var.
- Gecikmeler, tazelik, maliyet, ön alma/hatalar izlenir; Çağrı üzerine uyarılar.
- Sinyallerde yapılandırılmış otomatik güçlendirme (SLA tehdidi, DQ, olay, kampanya).
- Belgelenmiş bozulma runbooks; Kaos senaryolarını kontrol etti.
- Bronz için, akarsular basamaklı gecikme riski olmadan tepe dışı/noktaya taşınır.
17) Örnek politikalar (sözde YAML)
17. Son tarih ve bütçe ile 1 Altın sınıf
yaml policy: gold_finance_stream priority_base: 90 deadline_slo: freshness<=10m boost_on:
- dq_violation: duplicates_in_txn_id>0
- incident: "chargeback_spike"
limits:
max_scan_mb: 20480 max_concurrency: 32 budget:
max_hourly_cost: 200 preemption:
can_preempt_classes: [silver, bronze]
17. 2 Maliyet bilincine sahip dolgu для Bronz
yaml policy: bronze_backfill priority_base: 20 schedule: offpeak(22:00-06:00)
limits:
max_concurrency: 4 iops_cap: low fallback:
pause_if_cluster_si>0. 8
18) Alt satır
İş parçacığı önceliklendirmesi, iş önceliklerinin, teknik SLO'ların ve kuyruklar, zamanlayıcılar, sınırlar ve sistem geri bildirimi yoluyla uygulanan ekonomik kısıtlamaların yönetilebilir bir kombinasyonudur. QoS sınıfları, otomatik güçlendirme sinyalleri ve maliyet bilincine sahip politikalar birlikte çalıştığında, veriler taze ve güvenilir kalır, kritik bilgiler zamanında gelir ve altyapı faturalandırması öngörülebilir.