Obsah

Úvod

Tato stránka obsahuje všechny informace, které vývojáři potřebují k tomu, aby přispěli k platformě Hotmaps nebo aby pochopili, jak funguje.

To Top

Integrace datové sady

Integrace nových veřejných datových souborů se řeší následovně:

  1. datové sady musí být zaslány do úložiště git ( Přidejte své datové sady na GitLab )
  2. skript každou noc integruje nové / aktualizované datové sady do platformy DEV
  3. Pokud všechno fungovalo dobře, datová sada je nyní k dispozici na platformě DEV a vývojáři ji mohou integrovat do svého kódu
  4. Po dokončení kódování jsou nové funkce přidány do produkční platformy prostřednictvím nové verze

integrace dat

Pokud během integrace datový soubor selže, je problém vytvořen na platformě Taiga (platforma pro správu projektů). Tento problém ukazuje vznesenou chybu a vývojář by ji měl opravit a znovu poslat svou práci na Git, aby se skript mohl pokusit znovu integrovat příští večer.

Zdrojový kód integračního skriptu je k dispozici na tomto odkazu: Integrace dat

To Top

Přidejte své datové sady na GitLab

Chcete-li přidat datové sady do seznamu veřejných datových souborů, musí být přesunuty do nového úložiště Git na GitLab. Zde je organizace GitLab, do které by se měly zasílat datové sady : Datové sady na GitLab .

Jednou denně jsou úložiště kontrolována na nové závazky a pokud ano, jsou integrována. Proces integrace kontroluje, zda data odpovídají specifikaci nebo ne.

Zde je specifikace: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

Seznam hlavních úložišť

Kód aplikace je umístěn na GitHubu v organizaci Hotmaps . Tato organizace vlastní několik úložišť

To Top

Jak přispět kódem

Pokud chcete do Hotmaps přidat nějaký kód, máte dvě možnosti: Chcete-li přímo aktualizovat rozhraní nebo backend, musíte změnit úložiště klienta nebo služby v sadě nástrojů. Pokud chcete přidat svůj vlastní výpočetní modul, můžete si vytvořit vlastní úložiště podle readme úložiště base_calculation_module.

Pokud chcete v úložišti Git provádět nějakou práci, nepracujte prosím přímo s hlavní větví. Vytvořte novou větev z vývojové větve, udělejte svou práci v této větvi a když je vaše funkce testována, můžete sloučit svou práci s vývojovou větví, jak je ukázáno v následujícím grafu.

git_workflow

Aby se něco přesunulo do některého úložiště Hotmaps, musíte být členem týmu Hotmaps, pokud nejste, stále jste schopni provést vidličku našeho nástroje pro vývoj vlastního nástroje.

Další informace o tom, jak pracovat v těchto dokumentech:

To Top

Popis IT infrastruktury

ReverseProxy_architecture_latest

Všechny služby a komponenty se používají prostřednictvím vlastního kontejneru Docker. Všechny tyto kontejnery jsou definovány v jediném souboru s ukotvitelným složením. Obrázek nahoře představuje architekturu IT Hotmaps.

Některé partnerské organizace omezily komunikaci pouze na port 80. Aby se předešlo problémům způsobeným tímto omezením, bylo vytvořeno reverzní proxy. Tento zpětný proxy server nabízí jediný vstupní bod a poté distribuuje požadavek zaslaný zákazníkem příslušné službě. Reverzní proxy se skládá ze tří složek:

  1. Reverzní proxy server: slouží jako jedinečný vstupní bod a distribuuje požadavky správným službám.
  2. Proxy-gen: je to služba, která automaticky mapuje všechny služby v reverzním proxy. Není tedy nutné ručně přidat novou službu do konfigurace proxy
  3. lets-encrypt: je to služba, která umožňuje použití protokolu SSL. Je nutné aktivovat protokol https. Certifikáty SSL jsou podepsány e-mailovou adresou nakonfigurovanou v této službě.

Existují tři sítě:

  • hotmaps_nginx umožňuje reverzní proxy komunikovat s api, frontendem a geoserverem. Umožňuje zejména distribuovat požadavek na správnou službu mezi tři.
  • hotmaps_backend umožňuje komunikaci mezi všemi komponenty backendu: api, frontend, geoserver a PostgreSQL databáze.
  • hotmaps_cm-net umožňuje komunikaci mezi jednotlivými výpočtovými moduly a api.

Každý výpočetní modul má svůj vlastní kontejner Docker.

Běh s Dockerem

Hotmaps používá Docker software a Docker-Compose nástroj pro správu kontejnerů. Soubor docker-compose.yml obsahuje celou konfiguraci architektury Docker (konfigurace kontejnerů, sítí, odkazů, ...). To umožňuje spuštění kontejnerů jedním jednoduchým příkazem:

 docker-compose up 

Na webu Docker se dozvíte více o docker-compose: Odkaz na příkazový řádek a odkaz na soubor .

Existuje pouze jeden kontejner, který se spouští odděleně od ostatních: je to databáze, protože musí zůstat neustále v provozu. To proto není v konfiguračním souboru docker-compose.

Infrastruktura serveru

Infrastruktura

Momentálně je server hostován na HES-SO ve Švýcarsku. K dispozici jsou 2 stroje: jeden pro vývoj (vývoj a testování) a jeden pro výrobu (vlastní sada nástrojů, k dispozici na www.hotmaps.eu ).

Oba stroje mají stejnou specifikaci:

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

Výkon

Na vývojovém serveru často provádíme testy výkonu, abychom zaručili určité množství souběžných uživatelů.

Jako příklad uvádíme níže výsledky prvního vydání beta oproti budoucím testům vydání. Nová verze obsahuje některá vylepšení výkonu.

Tento příklad ukazuje testy výkonu souběžných uživatelů, kteří používají stejnou funkci: "křivka trvání pro výběr hektaru". Tučný řádek ukazuje limit, kde server začíná zvyšovat chyby. Hektarový výběr je dobrým příkladem, protože ukazuje dotazy, které vyžadují nejvíce zdrojů.

Beta vydání března 2019

| Počet simulovaných uživatelů Průměrná doba | Střední | Max. Čas | Min. Čas | Procento chyb | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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 |

Budoucí vydání na DEV (březen 2019)

| Počet simulovaných uživatelů Průměrná doba | Střední | Max. Čas | Min. Čas | Procento chyb | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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

Jak definovat ukazatele

Definice indikátoru

To Top

Reference

To Top

Jak citovat

To Top

Autoři a recenzenti

Autoři:

  • Daniel Hunacek
  • Lucien Zuber
  • Matthieu Dayer

Recenzenti:

To Top

Potvrzení

Chtěli bychom vyjádřit naše nejhlubší uznání projektu Horizon 2020 Hotmaps Project (Grant Agreement Agreement č. 723677), který poskytl finanční prostředky na provedení tohoto šetření.

To Top

This page was automatically translated. View in another language:

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

*: machine translated