Tema 10 · Duomenų keliai ir eksportas

Infrastruktūra, keturi duomenų keliai, asinchroninis eksportas

Kartu atskirsime sinchroninę užklausą, foninę užduotį ir duomenų kelią pagal apimtį.

Tai architektūrinio sprendimo tema po Temos 9 (vykdymas ir sesija): čia nebekartojame 15 min / 2 GB mechanikos, o renkamės kelį pagal apimtį ir laiką ir aiškiname asinchr. eksporto UI srautą.

Kodėl iš viso yra ribų?

  • Bendri debesų resursai — kelios organizacijos; reikia sąžiningumo ir stabilumo.
  • HTTP negali kabėti begaliniai — timeout sluoksniai.
  • Viešasis REST: pvz. iki 100 įrašų GET, 5 MB POST/PUT (žr. oficialų gidą).

Keturi keliai (santrauka)

Kelias Apytiksliai Pastaba
Reporting < 10k eil., < ~60 s Spausdinimas / ekranas; eksportas iki ~1M eil.
Automation < 100k, < ~15 min Foninis automatizavimų kelias.
Data Export < 1M, < ~1 val. Didelės apimties failas per užduotį.
BI / Analytics Agregatai RAW → suvestinė; laikas praktiškai nelimituotas.

Tikslūs skaičiai — produkto diagramoje; atnaujinti šaltiniuose, jei pasikeičia politika.

Asinchroninis eksportas (UI srautas)

Vartotojas paleidžia eksportą / ataskaitą → sistema sukuria užduotį → generavimas vyksta atskirai (eilė / Artemis) → paruoštas failas pasiekiamas per vartotojo užduotis (failo nuoroda). Tai ne viena begalinė naršyklės užklausa.

Techninis kontekstas: pagrindiniai žingsniai (santrauka)
  1. Frontend → Report Preparation / Data Mobility.
  2. Žinutė į Artemis (eilė) → Data Export tarnyba.
  3. DB / generavimas → File Management → rezultatas vartotojo užduotyse.

Išsamesnę seką rasite dokumente apie asinchroninį eksportą.

Teorijos santrauka

  • Ribos kyla iš bendro debesų resursų, timeout sluoksnių ir viešojo API kvotų.
  • Keturi keliai — skirtingos paskirties; pasirinkimas priklauso nuo apimties ir laukimo.
  • Didelis eksportas per UI eina per užduotį, ne begalinę naršyklės užklausą.

Praktika salėje

Vienas sprendimų medis ant lentos: klientas prašo „50 tūkst. eilučių į Excel“ — žingsnis po žingsnio pasirinkite kelią ir paaiškinkite laukimo logiką.

Savarankiškas darbas

  1. Du trumpi kliento scenarijai (be kodo): kiekvienam priskirkite vieną kelią ir vieną sakinį „kodėl ne Reporting“ arba atvirkščiai.
  2. Perskaitykite keturių kelių santrauką ir pažymėkite vieną skyrių, kurį parodytumėte klientui.