GH GambleHub

Əks piramida modeli

Memarlıqda «əks piramida modeli» nədir

Əks piramida modeli sistemlərin və protokolların layihələndirilməsi üsuludur, burada ən vacib və minimal tələb olunan məlumat/funksionallıq birinci və zəmanətli ötürülür, daha az kritik detallar isə mütərəqqi və isteğe bağlı əlavə edilir. Termin jurnalistikadan bir fikir götürür (ən əsası - əvvəlcə), lakin mühəndislik vəzifələrinə uyğunlaşdırılmışdır: kritik yol hər hansı bir şəraitdə işləyir, qalan hər şey - «zənginləşdirmə təbəqələri».

İntuitiv şəkil: yuxarıdan ensiz zirvə «minimum zəmanət müqaviləsi» (MGC), aşağıda - genişləndirmə, optimallaşdırma və resurslar/uyğunluq olduqda sistemin tətbiq etdiyi zəngin xüsusiyyətlər.


Harada tətbiq olunur

Şəbəkə protokolları və API: REST/gRPC/GraphQL, webhucks, hadisə brokerləri.
Streaming kanalları: WebSocket, SSE, Kafka/NATS, RTC.
Xidmətlərin arxitekturası: kritik yol vs. yan təsirləri (audit, analitika, cash-heating).
Mobile/Web müştəriləri: ilk «skelet» UI və açar məlumatlar, sonra tənbəl yükləmə media və tövsiyələr.
Ödəniş və risk zəncirləri: avtorizasiya/rezervasiya - prioritet; antifrod/analiz - asinxron, son tarixlərlə.
Müşahidə: həmişə log/minimum səviyyənin metrikası; trace/profil - sempling.


Modelin prinsipləri

1. Minimum zəmanət müqaviləsi (MGC)

Sahələr və əməliyyatlar dəsti, onsuz ssenarinin mənası yoxdur. Sabitdir, geri uyğundur və birinci keçir.

2. Mütərəqqi zənginləşdirmə

Əlavə sahələr/funksiyalar isteğe bağlı uzantılar (capabilities/feature flags/Negotiation) kimi verilir.

3. Rədd edilmədən deqradasiya

Sistem həddindən artıq yükləndikdə və ya qismən əlçatmazsa, MGC-nin işləmə qabiliyyətini qoruyaraq isteğe bağlı təbəqələri atır.

4. Açıq prioritetləşdirmə və SLA

Hər bir təbəqə üçün - öz SLO (gizli, əlçatanlıq), növbələr və xidmət sinifləri (QoS).

5. Sxemlərin əlavə təkamülü

Yeni sahələr nullable/optional kimi əlavə olunur, müştərilərə zərər vermir; sərt dəyişikliklər - yalnız yeni versiyası vasitəsilə.

6. Laylar üzrə müşahidə

Metrik və loglər kritik olaraq qeyd olunur: 'core.', 'enh.', 'batch.' Sistemin yük altında nə bağışladığını görmək üçün.


«Klassik» laylar piramidası ilə müqayisə

Klassik memarlıq (aşağı - baza, yuxarı - UI) asılılıqları vurğulayır.
Əks piramida çatdırılma qaydasını və əhəmiyyətini vurğulayır: əvvəlcə «core», sonra «nice-to-have».


Model üzrə protokolların layihələndirilməsi

1) REST/HTTP

MGC: minimum resurs/end-point və məcburi sahələr.

Genişləndirmələr:
  • Məzmun neqasiya ('Accept', 'Prefer'),
  • Seçici detal üçün '? include = '/'? fields =' parametrləri,
  • Link əvəzinə «ağır» əlavələr (pre-signed URLs).
  • Deqradasiya: vaxt ərzində MGC-ni daxili kolleksiyalar olmadan vermək; Böyük cisimlər üçün 206 Partial Content.
  • Version: köhnə müqavilələri dəyişdirmədən əlavə sahələr; əsas versiyası yalnız pozucu dəyişikliklər üçün.

2) gRPC

proto: təhlükəsiz nömrələnmiş yeni 'optional' sahələri; silinmiş etiketləri yenidən istifadə etməyin.
Server-side deadlines və per-method QoS (kritik RPC prioritet yuxarıda).
Streaming: ilk mesajlar - başlıqlar/nəticələr, sonra çanta detalları.

3) Hadisə şinləri (Kafka/NATS)

Əsas hadisə: 'event _ type', 'id', 'occurred _ at', minimal biznes sahələri.
Zənginləşdirmə: outbox/CDC və ayrı-ayrı mövzular '-enriched'.
Əvvəlcə, detallar sonra: istehlakçılar iş prosesini nüvədə tamamlaya bilər və detallar asenxron şəkildə yüklənir.


Əks piramida ilə yaxşı birləşən nümunələr

Critical Path First: Sinxron «məcburi» asenkron yan təsirlərdən ayırın.
Write-ahead/Outbox: hadisə faktını qeyd, qalan - fon çatdırılma.
Lazy & Incremental Fetch: pagination, kursorlar, 'If-Modified-Since '/ETag.
Capabilities Discovery: server/müştəri hansı uzantıların dəstəklədiyini açıq şəkildə bildirir.
Backpressure & Budgets: son tarixlər, bir qat üçün CPU/IO limitləri; yük altında ikinci dərəcəli vəzifələrin ləğvi.
SLO-Scoped Caching: «nüvəni» daha aqressiv, zənginləşdirmə - daha qısa/daha incədir.


Tətbiq alqoritmi

1. Ssenarilərin xəritəsi: User Journey yazın və "dəyər anı 'nı seçin.
2. MGC müəyyən: dəyəri nail olmaq üçün minimum sahələr/əməliyyatlar.
3. Laylara bölün: 'core', 'extended', 'analytics/batch'.
4. Hər qat üçün SLO/SLA və QoS təyin edin.
5. Deqradasiyanı layihələndirin: N% arızalar/p95 artımı ilə nə atırıq?
6. Sxemlərin təkamülü: versiya siyasəti, additive-first.
7. Müşahidə: Metrik/Log/Trace-də təbəqə etiketləri, «core» -də alertlər.
8. Test: xaos-mühəndislik və laylar üzrə fault-injection.
9. Başlanğıc və geribildirim: Ficheflags uzantılarını işə salırıq və kanaryada yuvarlayırıq.


Laylar üzrə metriklər və SLO

Core: p95/p99 gecikmə, uğurlu kritik əməliyyatların payı, pozulma müqaviməti.
Extended: zənginləşdirilmiş cavabların faizi, orta yükləmə vaxtı.
Batch/Analytics: real vaxt lag, pəncərə arxasında işlənmiş hadisələr payı.
Biznes metrikası: həddindən artıq yükləmə zamanı «dəyər anına» qədər konvertasiya.


Antipatternlər

«Hamısı core»: uzantılar məcburi olur, deqradasiya mümkün olmur.
Yeni əsas versiyası olmadan MGC pozucu dəyişikliklər.
Gizli kövrəklik: kritik yol xarici «ikinci dərəcəli» asılılıqlara əsaslanır (məsələn, antifrod sinxron çağırışı).
Gizli uzantılar: Müştərilər nə aça/söndürə biləcəyini bilmirlər.
Observability olmaması: sistem «səssizcə» deqradasiya edir və siz harada olduğunu görmürsünüz.


Nümunələr

A. İstifadəçi profili (REST)

MGC: `id`, `display_name`, `avatar_url`, `tier`.
Uzantıları: 'badges []', 'social _ links []', 'recent _ activity []' po '? include ='.
Deqradasiya: Taymaut zamanı MGC və yığma resurslarına (HATEOAS/URLs) istinadlar verin.

B. Ödəniş icazəsi

MGC: avtorizasiyanın nəticəsi (approved/declined), 'transaction _ id', 'amount', 'currency'.
Uzantıları: 3DS telemetriya, risk-skor, geo, partnyor atributu - «payment» hadisəsində asenxron. authorized`.
Deqradasiya: analitika uğursuzluqları zamanı ödəniş gedir, audit/skorinq isə yetişir.

V. Axın kotirovkaları

MGC: son «şəkil» qiymət.
Uzantıları: şüşə dərinliyi, yığılmış göstəricilər - snapshot sonra axın.
Deqradasiya: genişləndirmə yeniləmələrinin tezliyi yük altında düşür, lakin snapshot sabitdir.


Version və təkamül

Additive-first: Yeni sahələr 'optional/nullable', köhnələri qalır.
Semantic Versions: 'v1' nüvəsi üçün; 'v1. x '- uzantıları;' v2 '- MGC dəyişdikdə.
Kodda müqavilələr: JSON Schema/Protobuf + CI-« qırılmayan »difflərin validasiyası.


Təhlükəsizlik və uyğunluq

MGC imzalanmış/təsdiqlənmiş: minimum sahə dəsti kriptoqrafik bütövlüyə malikdir.
Least Privilege: ayrı-ayrı mal-qara ilə zənginləşdirməyə çıxış.
PII/findans: genişləndirmə, açar ayrılması və TTL.


Müşahidə və hata ayıklama

Metrik prefikslər: 'core. request. duration`, `enh. attach. load_time`, `batch. lag`.
Sampling: 100% core səhvləri üçün log; uzantıları sempleme.
Feature flags telemetry: Hansı müştərilərdə hansı uzantıların daxil olduğunu görmək olar.


Giriş çek siyahısı (qısa)

  • MGC tərəfindən müəyyən edilmiş və sənədləşdirilmişdir.
  • Uzantılar capabilities/flags vasitəsilə elan edilmişdir.
  • SLO/QoS/laylar üzrə növbələr.
  • Deqradasiya xaos testləri ilə yoxlanılır.
  • Sxemlərin təkamülü yalnız «qırılma» olmadan əlavə olunur.
  • Metriklər/treys/loqlar təbəqələrə bölünür.
  • Uzantıları daxil etmək üçün müştərilər üçün sənədləşdirmə.

FAQ

Əks piramida laylı memarlığı əvəz edirmi?
Yox. Bu ortoqonal prinsipdir: adi təbəqələr üzərində funksionallığı necə çatdırmaq və prioritet etmək olar.

Nə zaman tətbiq edilmir?
Qismən çatdırılma mənasız olduğu oflayn paketlərdə (atomik kriptotokollar) və ya bütün sahələr eyni dərəcədə kritik olduqda.

"graceful degradation 'dan nə fərqi var?
Əks piramida əvvəlcə minimum kifayət qədər müqavilə və onun prioritetlərini layihələndirir və artıq yüklənmiş sistemi «faktdan sonra» xilas etməyə çalışmır.


Yekun

Əks piramida modeli memarlığa və protokollara hər hansı bir yük altında faydalı olmağa kömək edir: əsas şey əvvəlcə və şübhəsiz; qalanları - mümkünsə. Bu kritik yolun əlçatanlığını artırır, fichin çıxarılmasını sürətləndirir və pozulmadan təkamülü asanlaşdırır.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.