Sisukord

Sissejuhatus

See leht sisaldab kogu teavet, mida arendajad vajavad Hotmapsi platvormile panustamiseks või selle toimimise mõistmiseks.

To Top

Andmekogumi integreerimine

Uute avalike andmekogumite integreerimine toimub järgmiselt:

  1. andmekogumid tuleb lükata git-hoidlasse ( lisage oma andmekogumid GitLabisse )
  2. igal õhtul integreerib skript uued / värskendatud andmekogumid DEV-platvormi
  3. kui kõik toimis hästi, on andmekogum nüüd DEV platvormil saadaval ja arendajad saavad selle oma koodi integreerida
  4. Kui kodeerimine on lõppenud, lisatakse tootmisfunktsioonidele uue versiooni kaudu uued funktsioonid

Andmete integreerimine

Kui andmekogum ebaõnnestub integreerimisel, luuakse probleem Taigas (projektijuhtimise platvorm). Probleem näitab tõstatatud viga ja arendaja peaks selle parandama ning oma töö uuesti Giti poole lükkama, et skript saaks seda järgmisel õhtul uuesti integreerida.

Integreerimisskripti lähtekood on saadaval sellel lingil: Andmete integreerimine

To Top

Lisage oma andmekogumid GitLabi

Andmekogumite lisamiseks avalike andmekogumite loendisse tuleb need lükata GitLabi uude Giti hoidlasse. Siin on GitLabi organisatsioon, kuhu tuleks andmekogumid lükata: Andmekogumid GitLabis .

Üks kord päevas kontrollitakse hoidlaid uute toimingute suhtes ja integreeritakse, kui jah. Integreerimisprotsess kontrollib, kas andmed vastavad spetsifikatsioonidele või mitte.

Siin on spetsifikatsioon: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

Peamiste hoidlate loetelu

Rakenduse kood asub GitHubis Hotmapsi organisatsiooni all . Sellele organisatsioonile kuulub mitu hoidlat

To Top

Kuidas koodi lisada

Kui soovite lisada Hotmapsile mõne koodi, on teil kaks võimalust: kui soovite liidest või taustaprogrammi otse uuendada, peate tööriistakasti klienti või teenuse hoidlat muutma. Kui soovite oma arvutusmooduli lisada, saate oma hoidla luua, järgides hoidla base_calculation_module readme

Kui soovite Giti hoidlas mõnda tööd teha, siis ärge töötage otse peaharuga. Looge arendusharust uus haru, tehke oma tööd selle haruga ja kui teie funktsioon on testitud, võite oma töö ühendada arendusharuga, nagu on näidatud järgmisel graafikul.

Git_workflow

Selleks, et midagi Hotmapsi hoidlasse lükata, peate olema Hotmapsi meeskonna liige, kui te pole seda, saate siiski oma tööriista välja töötamiseks kahvli meie tööriistast välja töötada.

Lisateavet töötamise kohta leiate nendest dokumentidest:

To Top

IT-infrastruktuuri kirjeldus

ReverseProxy_architecture_stest

Kõiki teenuseid ja komponente kasutatakse nende enda Dockeri konteineri kaudu. Kõik need konteinerid on määratletud ühes dokkija koostamise failis. Ülaltoodud pilt tähistab Hotmapsi IT-arhitektuuri.

Mõni partnerorganisatsioon piirdus suhtlemisega ainult 80-ga. Sellest piirangust tulenevate probleemide vältimiseks loodi vastupidine puhverserver. See vastupidine puhverserver pakub ühte sisenemispunkti ja jagab seejärel kliendi saadetud päringu asjaomasele teenusele. Tagurpidi puhverserver koosneb kolmest komponendist:

  1. Tagurpidi puhverserver: see toimib ainulaadse sisenemispunktina ja jagab päringuid õigetele teenustele.
  2. Proxy-gen: see on teenus, mis kaardistab automaatselt kõik teenused vastupidises puhverserveris. Seega pole vaja puhverserveri konfiguratsiooni käsitsi uut teenust lisada
  3. laseb krüptida: see on teenus, mis võimaldab kasutada SSL-protokolli. See on vajalik https-protokolli aktiveerimiseks. SSL-sertifikaadid allkirjastatakse selles teenuses konfigureeritud e-posti aadressiga.

Olemas on kolm võrku:

  • hotmaps_nginx võimaldab vastupidisel puhverserveril suhelda API, esiosa ja GeoServeriga. See võimaldab peamiselt jagada päringut õigele teenusele nende kolme vahel.
  • hotmaps_backend võimaldab sidet kõigi taustaprogrammi komponentide vahel: API, frontend, GeoServer ja PostgreSQL andmebaas.
  • hotmaps_cm-net võimaldab suhelda iga arvutusmooduli ja API vahel.

Igal arvutusmoodulil on oma Dockeri konteiner.

To Top

Jookse koos Dockeriga

HotMaps kasutab sadamatööline tarkvara ja sadamatööline-komponeerida vahend juhtida konteinerid. Docker-compose.yml-fail sisaldab kogu Dockeri arhitektuuri konfiguratsiooni (konteinerite, võrkude, linkide konfiguratsioon ...). See võimaldab konteinereid käivitada ühe lihtsa käsuga:

 docker-compose up

Dockeri koostamise kohta leiate lisateavet Dockeri veebisaidilt: Koosta käsurea viide ja Koosta failiviide .

Seal on ainult üks konteiner, mida käitatakse teistest eraldi: see on andmebaas, kuna see peab kogu aeg üleval olema. Sellepärast pole seda dockeri koostamise konfiguratsioonifailis.

To Top

Serveri infrastruktuur

Infrastruktuur

Praegu on server hostitud Šveitsi HES-SO-l. Saadaval on 2 masinat: üks arendamiseks (arendamine ja testimine) ja teine tootmiseks (tegelik tööriistakast, saadaval aadressil www.hotmaps.eu ).

Mõlemal masinal on sama spetsifikatsioon:

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

Performance

Teatud hulga samaaegsete kasutajate tagamiseks viime sageli arendusserveris läbi jõudlusteste.

Näiteks on allpool toodud esimese beetaversiooni ja tulevaste väljalasketestide tulemused. Uus väljaanne sisaldab mõningaid jõudluse täiustusi.

See näide näitab samaaegsete kasutajate jõudlusteste, kasutades sama funktsiooni: "kestuskõver hektari valimiseks". Rasvane rida näitab piiri, kus server hakkab vigu tekitama. Hektari valik on hea näide, kuna see näitab kõige rohkem ressursse nõudvaid päringuid.

Beetaversioon märtsist 2019

| Nb simuleeritud kasutajaid Keskmine aeg | Mediaan | Maksimaalne aeg | Min aeg | Vigade protsent | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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 |

Lõplik väljaanne (august 2020)

| Nb simuleeritud kasutajaid Keskmine aeg | Mediaan | Maksimaalne aeg | Min aeg | Vigade protsent | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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

LUGEGE.ME

Loe. MINA

To Top

Kuidas määratleda näitajaid

Näitaja määratlus

To Top

Kuidas tsiteerida

Daniel Hunacek, Lucien Zuber, Matthieu Dayer, Hotmaps Wiki arendajate sektsioonis (september 2020)

To Top

Autorid ja retsensendid

Selle lehe kirjutasid Daniel Hunacek, Lucien Zuber ja Matthieu Dayer ( HES-SO ).

☑ Selle lehe vaatas läbi Mostafa Fallahnejad ( EEG - TU Wien ).

To Top

Litsents

Autoriõigus © 2016-2020: Daniel Hunacek, Lucien Zuber ja Matthieu Dayer

Creative Commons Attribution 4.0 rahvusvaheline litsents

See töö on litsentsitud rahvusvahelise Creative Commons CC BY 4.0 litsentsi alusel.

SPDX-litsentsi identifikaator: CC-BY-4.0

Litsentsi tekst: https://spdx.org/licenses/CC-BY-4.0.html

To Top

Tunnustus

Soovime avaldada sügavat tunnustust Horisont 2020 Hotmapsi projektile (toetuslepingu number 723677), mis rahastas käesolevat uurimist.

To Top

This page was automatically translated. View in another language:

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

* machine translated