vývojári

vývojári

Obsah

úvod

Táto stránka obsahuje všetky informácie, ktoré vývojári potrebujú na to, aby prispeli k platforme Hotmaps alebo aby pochopili, ako funguje.

To Top

Integrácia množiny údajov

Integrácia nových verejných súborov údajov sa rieši takto:

  1. súbory údajov musia byť presunuté do úložiska git ( Pridajte svoje súbory údajov na server GitLab )
  2. skript každú noc integruje nové / aktualizované súbory údajov do platformy DEV
  3. Ak všetko fungovalo dobre, dataset je teraz k dispozícii na platforme DEV a vývojári ho môžu integrovať do svojho kódu
  4. Po dokončení kódovania sa nové funkcie pridajú do produkčnej platformy prostredníctvom nového vydania

integrácia údajov

Ak súbor údajov zlyhá počas integrácie, problém sa vytvorí na serveri Taiga (platforma pre riadenie projektov). Tento problém ukazuje vznesenú chybu a vývojár by ju mal napraviť a znova poslať svoju prácu na Git, aby sa skript mohol pokúsiť o ďalšiu integráciu nasledujúci večer.

Zdrojový kód integračného skriptu je k dispozícii na tomto odkaze: Integrácia údajov

To Top

Pridajte svoje súbory údajov na server GitLab

Ak chcete pridať súbory údajov do zoznamu verejných súborov údajov, musíte ich poslať do nového úložiska Git na GitLab. Toto je organizácia GitLab, do ktorej by sa mali zasielať súbory údajov: Súbory údajov v službe GitLab .

Raz denne sú úložiská kontrolované na nové záväzky a v prípade potreby sú integrované. Proces integrácie kontroluje, či údaje zodpovedajú špecifikácii alebo nie.

Tu je špecifikácia: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

Zoznam hlavných úložísk

Kód aplikácie sa nachádza na GitHub pod organizáciou Hotmaps . Táto organizácia vlastní niekoľko archívov

To Top

Ako prispieť kód

Ak chcete do Hotmaps pridať nejaký kód, máte dve možnosti: ak chcete priamo aktualizovať rozhranie alebo backend, musíte zmeniť úložisko klienta alebo služby v paneli nástrojov. Ak chcete pridať svoj vlastný výpočtový modul, môžete si vytvoriť vlastný archív podľa readme archívu base_calculation_module.

Ak chcete vykonať nejakú prácu v úložisku Git, nepracujte priamo s hlavnou vetvou. Vytvorte novú vetvu z rozvojovej vetvy, urobte svoju prácu v tejto vetve a keď je vaša funkcia otestovaná, môžete zlúčiť svoju prácu s vetvou rozvoja tak, ako je to znázornené na nasledujúcom grafe.

git_workflow

Ak chcete niečo presunúť do niektorého úložiska Hotmaps, musíte byť členom tímu Hotmaps, ak nie ste, stále ste schopní vykonať vidličku nášho nástroja na vývoj vlastného nástroja.

Viac informácií o tom, ako pracovať v týchto dokumentoch:

To Top

Opis IT infraštruktúry

ReverseProxy_architecture_latest

Všetky služby a komponenty sa používajú prostredníctvom vlastného kontajnera Docker. Všetky tieto kontajnery sú definované v jednom dock-compose súbore. Obrázok vyššie predstavuje IT architektúru Hotmaps.

Niektoré partnerské organizácie obmedzili komunikáciu iba na port 80. Aby sa predišlo problémom spôsobeným týmto obmedzením, vytvorilo sa reverzné splnomocnenie. Tento reverzný proxy server ponúka jeden vstupný bod a potom distribuuje požiadavku zaslanú zákazníkom príslušnej službe. Reverzný proxy server sa skladá z troch komponentov:

  1. Reverzný proxy server: slúži ako jedinečný vstupný bod a distribuuje požiadavky správnym službám.
  2. Proxy-gen: je to služba, ktorá automaticky mapuje všetky služby v opačnom proxy. Preto nie je potrebné manuálne pridávať novú službu do konfigurácie servera proxy
  3. lets-encrypt: je to služba, ktorá umožňuje použitie protokolu SSL. Je potrebné aktivovať protokol https. Certifikáty SSL sú podpísané e-mailovou adresou nakonfigurovanou v tejto službe.

Existujú tri siete:

  • hotmaps_nginx umožňuje reverznej proxy komunikovať s api, frontendom a geoserverom. To umožňuje predovšetkým distribuovať požiadavku na správne služby medzi tromi.
  • hotmaps_backend umožňuje komunikáciu medzi všetkými komponentmi backendu: api, frontend, geoserver a PostgreSQL databázou.
  • hotmaps_cm-net umožňuje komunikáciu medzi jednotlivými výpočtovými modulmi a api.

Každý výpočtový modul má svoj vlastný dokovací kontajner.

Spustite s Dockerom

Hotmaps používa Docker softvér a Docker-Compose nástroj pre správu kontajnerov. Súbor docker-compose.yml obsahuje celú konfiguráciu architektúry Docker (konfigurácia kontajnerov, sietí, odkazov, ...). To umožňuje spustenie kontajnerov pomocou jedného jednoduchého príkazu:

 docker-compose up 

Viac informácií o docker-compose nájdete na webe Docker: Zostavte odkaz na príkazový riadok a Zostavte odkaz na súbor .

Existuje iba jeden kontajner, ktorý sa spúšťa oddelene od ostatných: je to databáza, pretože musí neustále pracovať. Preto sa nenachádza v konfiguračnom súbore docker-compose.

Infraštruktúra servera

infraštruktúra

Momentálne je server hostený na HES-SO vo Švajčiarsku. K dispozícii sú 2 stroje: jeden pre vývoj (vývoj a testovanie) a jeden pre výrobu (aktuálny súbor nástrojov, dostupný na www.hotmaps.eu ).

Oba stroje majú rovnakú špecifikáciu:

  • CPU: Intel Xeon E5-2680 v4 (8) pri 2,4 GHz)
  • RAM: 16 GB
  • HDD: 500 GB
  • OS: Ubutnu 16,04 LTS

výkon

Na vývojovom serveri často vykonávame testy výkonnosti, aby sme zaručili určité množstvo súčasných používateľov.

Ako príklad uvádzame výsledky prvého vydania verzie beta oproti budúcim testom vydania. Nové vydanie obsahuje niektoré vylepšenia výkonu.

Tento príklad ukazuje testy výkonnosti súbežných používateľov s rovnakou funkciou: „krivka trvania pre výber hektárov“. Tučný riadok zobrazuje limit, v ktorom server začína zvyšovať chyby. Hektárový výber je dobrým príkladom, pretože ukazuje otázky, ktoré vyžadujú najviac zdrojov.

Beta vydanie marca 2019

| Počet simulovaných používateľov Priemerný čas Medián Maximálny čas | Min Percento chýb | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 2936 | 2936 | 2936 | 2936 | 0 | | 20 | 9329 9503 11778 | 6901 | 0 | | 50 22922 | 22713 | 33401 | 8661 | 0 | | 100 33302 32875 | 58257 4929 | 16 | | 200 | na | na | na | na | na | | 300 | na | na | na | na | na |

Budúce vydanie na DEV (marec 2019)

| Počet simulovaných používateľov Priemerný čas Medián Maximálny čas | Min Percento chýb | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1802 | 1802 | 1802 | 1802 | 0 | | 20 | 5289 | 2677 | 6873 | 2149 | 0 | | 50 10775 | 11274 | 17081 | 2577 | 0 | | 100 19807 20280 | 35142 | 3156 | 0 | | 200 | 37302 37575 69930 | 3381 | 0 | | 300 | 49091 | 57536 | 83578 2447 | 26

To Top

Ako definovať ukazovatele

Definícia ukazovateľa

To Top

Referencie

To Top

Ako citovať

To Top

Autori a recenzenti

Autori:

  • Daniel Hunacek
  • Lucien Zuber
  • Matthieu Dayer

oponenti:

To Top

poďakovanie

Chceli by sme vyjadriť najhlbšie ocenenie projektu Hotmaps Horizontu 2020 (dohoda o grante č. 723677), ktorý poskytol finančné prostriedky na vykonanie tohto vyšetrovania.

To Top

This page was automatically translated. View in another language:

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

* machine translated