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)
- Frontend → Report Preparation / Data Mobility.
- Žinutė į Artemis (eilė) → Data Export tarnyba.
- 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
- Du trumpi kliento scenarijai (be kodo): kiekvienam priskirkite vieną kelią ir vieną sakinį „kodėl ne Reporting“ arba atvirkščiai.
- Perskaitykite keturių kelių santrauką ir pažymėkite vieną skyrių, kurį parodytumėte klientui.