Turinys

Įvadas

Šiame puslapyje yra visa informacija, reikalinga kūrėjams prisidėti prie „Hotmaps“ platformos arba suprasti jos veikimą.

To Top

Duomenų rinkinio integravimas

Naujų viešų duomenų rinkinių integravimas atliekamas taip:

  1. duomenų rinkiniai turi būti perkelti į „git“ saugyklą ( pridėkite savo duomenų rinkinius „GitLab“ )
  2. kiekvieną vakarą scenarijus integruoja naujus / atnaujintus duomenų rinkinius į DEV platformą
  3. jei viskas gerai veikė, duomenų rinkinį dabar galima rasti DEV platformoje, o kūrėjai gali jį integruoti į savo kodą
  4. Užbaigus kodavimą, naujos versijos prie gamybos platformos pridedamos naujos funkcijos

Duomenų integravimas

Jei integruojant duomenų rinkinys nepavyksta, „Taiga“ (projekto valdymo platforma) sukuriama problema. Ši problema parodo iškeltą klaidą, todėl kūrėjas turėtų ją ištaisyti ir vėl nustumti savo darbą į „Git“, kad scenarijus galėtų bandyti jį vėl integruoti kitą vakarą.

Integravimo scenarijaus šaltinio kodą galite rasti šioje nuorodoje: Duomenų integravimas

To Top

Pridėkite savo duomenų rinkinius „GitLab“

Norėdami įtraukti duomenų rinkinius į viešų duomenų rinkinių sąrašą, jie turi būti perkelti į naują „Git“ saugyklą „GitLab“. Čia yra „GitLab“ organizacija, kur reikia stumti duomenų rinkinius: „GitLab“ duomenų rinkiniai .

Kartą per dieną saugyklos tikrinamos dėl naujų įsipareigojimų ir integruojamos, jei taip. Integravimo procesas tikrina, ar duomenys atitinka specifikaciją, ar ne.

Čia yra specifikacija: „ Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf“

To Top

Pagrindinių saugyklų sąrašas

Programos kodas yra „GitHub“, priklausančiame „ Hotmaps“ organizacijai . Šiai organizacijai priklauso kelios saugyklos

To Top

Kaip pridėti kodą

Jei norite pridėti šiek tiek kodo prie „Hotmaps“, turite dvi galimybes: jei norite tiesiogiai atnaujinti sąsają ar antrinę programą, turite modifikuoti įrankių dėžutės klientą arba paslaugų saugyklą. Jei norite pridėti savo skaičiavimo modulį, galite sukurti savo saugyklą, laikydamiesi „base_calculation_module“ saugyklos readme

Jei norite atlikti tam tikrus darbus „Git“ saugykloje, nedirbkite tiesiogiai su pagrindiniu filialu. Sukurkite naują filialą iš plėtotės šakos, atlikite savo darbą šiame filiale ir patikrinę savo funkciją, galite sujungti savo darbą su plėtojimo šaka, kaip parodyta šioje diagramoje.

„Git_workflow“

Norėdami ką nors perkelti į kai kurias „Hotmaps“ saugyklas, turite būti „Hotmaps“ komandos nariai, jei nesate, vis tiek galite atlikti mūsų įrankio šakutę, kad sukurtumėte savo įrankį.

Daugiau informacijos apie tai, kaip dirbti, galite rasti šiuose dokumentuose:

To Top

IT infrastruktūros aprašymas

„ReverseProxy_architecture_latest“

Visos paslaugos ir komponentai naudojami per savo „Docker“ konteinerį. Visi šie konteineriai apibrėžti viename doko kūrimo faile. Aukščiau pateiktas vaizdas atspindi „Hotmaps“ IT architektūrą.

Kai kurios organizacijos partnerės apsiribojo tik 80 uostu. Siekiant išvengti problemų, kurias sukelia šis apribojimas, buvo sukurtas atvirkštinis įgaliojimas. Šis atvirkštinis tarpinis serveris siūlo vieną įėjimo tašką ir tada išplatina kliento atsiųstą užklausą atitinkamai paslaugai. Atvirkštinį tarpinį serverį sudaro trys komponentai:

  1. Atvirkštinis tarpinis serveris: jis veikia kaip unikalus įėjimo taškas ir platina užklausas tinkamoms tarnyboms.
  2. „Proxy-gen“: tai paslauga, automatiškai priskirianti visas paslaugas atvirkštiniame tarpiniame serveryje. Taigi nebūtina rankiniu būdu pridėti naujos paslaugos prie tarpinio serverio konfigūracijos
  3. leidžia šifruoti: tai paslauga, leidžianti naudoti SSL protokolą. Tai būtina norint suaktyvinti https protokolą. SSL sertifikatai pasirašomi el. Pašto adresu, sukonfigūruotu šioje paslaugoje.

Yra trys tinklai:

  • „hotmaps_nginx“ leidžia atvirkštiniam tarpiniam serveriui bendrauti su API, sąsaja ir „GeoServer“. Tai daugiausia leidžia paskirstyti užklausą teisingai tarnybai tarp trijų.
  • „hotmaps_backend“ leidžia bendrauti tarp visų užpakalinės programos komponentų: API, priekinės, „GeoServer“ ir „PostgreSQL“ duomenų bazės.
  • „hotmaps_cm-net“ leidžia bendrauti tarp kiekvieno skaičiavimo modulio ir API.

Kiekvienas skaičiavimo modulis turi savo „Docker“ konteinerį.

To Top

Bėk su Docker

„Hotmaps“ naudoja „ Docker“ programinę įrangą ir „ Docker-Compose“ įrankį, kad tvarkytų konteinerius. Docker-compose.yml faile yra visa „Docker“ architektūros konfigūracija (konteinerių, tinklų, nuorodų konfigūracija ...). Tai leidžia konteinerius paleisti su viena paprasta komanda:

 docker-compose up

Daugiau apie „Docker-compose“ yra „Docker“ svetainėje: „ Compose“ komandinės eilutės nuoroda ir „ Compose“ failo nuoroda .

Yra tik vienas konteineris, kuris vykdomas atskirai nuo kitų: tai duomenų bazė, nes ji turi nuolat veikti. Štai kodėl jo nėra „docker-compose“ konfigūracijos faile.

To Top

Serverio infrastruktūra

Infrastruktūra

Šiuo metu serveris priglobtas HES-SO Šveicarijoje. Yra 2 mašinos: viena skirta tobulinti (tobulinti ir išbandyti), o kita - gamybai (tikrasis įrankių rinkinys, kurį galima rasti www.hotmaps.eu ).

Abi mašinos turi tą pačią specifikaciją:

  • Procesorius: „Intel Xeon E5-2680 v4 (8) @ 2.4GHz“
  • RAM: 16 GB
  • HDD: 500 GB
  • OS: „Ubutnu 16.04 LTS“

Spektaklis

Mes dažnai vykdome našumo testus kūrimo serveryje, kad garantuotume tam tikrą skaičių tuo pačiu metu veikiančių vartotojų.

Toliau pateikiami pirmojo beta versijos ir būsimų leidimų testų rezultatai. Naujajame leidime yra keletas našumo patobulinimų.

Šiame pavyzdyje parodomi tuo pačiu metu veikiančių vartotojų, naudojančių tą pačią funkciją, „hektaro pasirinkimo trukmės kreivė“ našumo testai. Paryškinta eilutė rodo ribą, kur serveris pradeda kelti klaidas. Hektaro pasirinkimas yra geras pavyzdys, nes jis rodo daugiausiai išteklių reikalaujančias užklausas.

Beta išleidimas 2019 m. Kovo mėn

| Nb imituotų vartotojų | Vidutinis laikas | Mediana | Maksimalus laikas | Min laikas | Klaidų procentas | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1042 | 1042 | 1042 | 1042 | 0 | | 20 | 3608 | 3858 | 4475 | 2156 | 0 | | 50 | 7337 | 7595 | 11791 | 1568 | 0 | | 100 | 13897 | 13644 | 24492 | 1875 | 0 | | 200 | 27135 | 26380 | 51967 | 3045 | 0 | | 300 | 41237 | 43083 | 73245 | 3223 | 10,67 |

Galutinis leidimas (2020 m. Rugpjūtis)

| Nb imituotų vartotojų | Vidutinis laikas | Mediana | Maksimalus laikas | Min laikas | Klaidų procentas | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1025 | 970 | 1151 | 956 | 0 | | 20 | 1671 | 1732 | 2085 | 1113 | 0 | | 50 | 3527 | 3622 | 5593 | 982 | 0 | | 100 | 6648 | 6764 | 11854 | 1118 | 0 | | 200 | 12904 | 12801 | 24163 | 1192 | 0 | | 300 | 19521 | 19382 | 38116 | 1060 | 0 |

To Top

SKAITYK MANE

Skaityk mane

To Top

Kaip apibrėžti rodiklius

Rodiklio apibrėžimas

To Top

Kaip cituoti

Daniel Hunacek, Lucien Zuber, Matthieu Dayer, „Hotmaps Wiki“ kūrėjų skyriuje (2020 m. Rugsėjo mėn.)

To Top

Autoriai ir recenzentai

Šį puslapį parašė Danielis Hunacekas, Lucienas Zuberis ir Matthieu Dayeris ( HES-SO ).

☑ Šį puslapį peržiūrėjo Mostafa Fallahnejad ( EEG - TU Wien ).

To Top

Licencija

Autorių teisės © 2016-2020: Danielis Hunacekas, Lucienas Zuberis ir Matthieu Dayeris

„Creative Commons Attribution 4.0“ tarptautinė licencija

Šis darbas licencijuotas pagal „Creative Commons CC BY 4.0“ tarptautinę licenciją.

SPDX licencijos identifikatorius: CC-BY-4.0

Licencijos tekstas: https://spdx.org/licenses/CC-BY-4.0.html

To Top

Pripažinimas

Norėtume nuoširdžiai vertinti „Horizon 2020“ „ Hotmaps“ projektą (dotacijos sutarties numeris 723677), kuris skyrė finansavimą šiam tyrimui atlikti

To Top

This page was automatically translated. View in another language:

English (original) Bulgarian* Czech* Danish* German* Greek* Spanish* Estonian* Finnish* French* Irish* Croatian* Hungarian* Italian* Latvian* Maltese* Dutch* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Slovenian* Swedish*

* machine translated