Razvijalci

Razvijalci

Kazalo vsebine

Uvod

Ta stran vsebuje vse informacije, potrebne razvijalcem, da prispevajo k platformi Hotmaps ali da razumejo, kako deluje.

To Top

Integracija nabora podatkov

Vključevanje novih javnih podatkovnih nizov se obravnava na naslednji način:

  1. nabor podatkov je treba potisniti v git repozitorij ( dodajte svoje podatkovne nabore v GitLab )
  2. vsak večer skript integrira nove / posodobljene nabore podatkov na platformo DEV
  3. če je vse delovalo dobro, je nabor podatkov zdaj na voljo na platformi DEV in razvijalci ga lahko vključijo v svojo kodo
  4. Ko je kodiranje končano, se nove funkcije dodajo na proizvodno platformo z novo izdajo

integracija podatkov

Če nabor podatkov med integracijo ne bo uspel, se ustvari težava na Tajgi (platforma za upravljanje projektov). Zadeva kaže na povzročeno napako in razvijalci bi jo morali odpraviti in svoje delo znova potisniti v Git, da bi ga skript lahko poskusil znova vključiti naslednji večer.

Izvorna koda integracijske skripte je na voljo na tej povezavi: Integracija podatkov

To Top

Dodajte svoje podatkovne skupine v GitLab

Če želite na seznam javnih zbirk podatkov dodati nabore podatkov, jih morate potisniti v novo Gitovo skladišče v GitLabu. Tukaj je organizacija GitLab, kamor je treba potisniti nabore podatkov: nabori podatkov v GitLab .

Enkrat na dan se repozitoriji preverijo, ali imajo novi zapisi. Proces integracije preveri, ali so podatki v skladu s specifikacijo ali ne.

Tu je specifikacija: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

Seznam glavnih skladišč

Koda aplikacije se nahaja na GitHubu v okviru organizacije Hotmaps . Ta organizacija ima več skladišč

To Top

Kako prispevati kodo

Če želite dodati nekaj kode v Hotmaps, imate dve možnosti: če želite posodobiti vmesnik ali zaledje, morate spremeniti odjemalca ali storitveno shrambo orodja. Če želite dodati svoj lastni modul za izračun, lahko ustvarite svoje skladišče tako, da sledite branju skladišča base_calculation_module

Če želite opraviti nekaj dela v skladišču Git, ne delajte neposredno z glavno vejo. Izdelajte novo vejo iz veje za razvoj, opravite svoje delo na tej veji in ko je vaša funkcija preizkušena, lahko svoje delo združite z vejo za razvoj, kot je prikazano na naslednjem grafu.

git_workflow

Če želite nekaj potisniti v neko shrambo Hotmap-ov, morate biti član Hotmaps-ove ekipe, če niste, še vedno lahko izvedete vilico našega orodja, da razvijete svoje orodje.

Več informacij o delu lahko najdete v teh dokumentih:

To Top

Opis IT infrastrukture

ReverseProxy_architecture_latest

Vse storitve in komponente se uporabljajo prek lastnega Dockerjevega zabojnika. Vsi ti vsebniki so opredeljeni v eni datoteki, ki sestavlja docker. Slika zgoraj predstavlja IT-arhitekturo Hotmapov.

Nekatere partnerske organizacije so komunikacijo omejile samo na vrata 80. Da bi se izognili težavam, ki jih povzroča ta omejitev, je bilo ustvarjeno povratno proxy. Ta povratni proxy ponuja eno samo vstopno točko in nato razdeli zahtevo, ki jo stranka pošlje zadevni storitvi. Povratni proxy je sestavljen iz treh komponent:

  1. Povratni proxy strežnik: služi kot edinstvena vstopna točka in distribuira zahteve do pravih storitev.
  2. Proxy gen: je storitev, ki samodejno preslika vse storitve v obratnem proxyju. Tako ni treba ročno dodati nove storitve v konfiguracijo proxyja
  3. lets-encrypt: gre za storitev, ki omogoča uporabo protokola SSL. Potrebno je za aktiviranje protokola https. Potrdila SSL podpišejo e-poštni naslov, konfiguriran v tej storitvi.

Obstajajo tri mreže:

  • hotmaps_nginx omogoča povratni proxy, da komunicira z api, frontendom in geoserverjem. V glavnem omogoča, da zahtevo razdeli pravilni službi med tremi.
  • hotmaps_backend omogoča komunikacijo med vsemi komponentami zaledja: api, frontend, geoserver in zbirko podatkov PostgreSQL.
  • hotmaps_cm-net omogoča komunikacijo med posameznimi računskimi moduli in api.

Vsak modul za izračun ima svoj Docker posodo.

Teči z Dockerjem

Hotmaps uporablja DOCKER programsko opremo in DOCKER-Novo sporočilo funkcije za upravljanje zabojnikov. Datoteka docker-compose.yml vsebuje celotno konfiguracijo Dockerjeve arhitekture (konfiguracija vsebnikov, omrežij, povezav, ...). To omogoča zagon kontejnerjev z enim preprostim ukazom:

 docker-compose up 

Več o docker-compose je na spletnem seznamu Docker: Sestavi sklic ukazne vrstice in Sestavi referenco datoteke .

Obstaja samo en vsebnik, ki se izvaja ločeno od drugih: to je baza podatkov, ker mora ves čas ostati v stanju. Zato ni v konfiguracijski datoteki docker-compose.

Strežniška infrastruktura

Infrastruktura

Trenutno strežnik gostuje v HES-SO v Švici. Na voljo sta dva stroja: eden za razvoj (razvoj in preizkušanje) in eden za proizvodnjo (dejanski paket orodij, na voljo na www.hotmaps.eu ).

Oba stroja imata enako specifikacijo:

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

Izvedba

Na razvojnem strežniku pogosto izvajamo preizkuse učinkovitosti, da zagotovimo določeno količino sočasnih uporabnikov.

Spodnji primer so rezultati prve beta različice v primerjavi s prihodnjimi testi. Nova izdaja vključuje nekaj izboljšav delovanja.

Ta primer prikazuje preizkuse uspešnosti sočasnih uporabnikov, ki uporabljajo isto funkcijo: "krivulja trajanja za izbiro hektarja". Krepka črta prikazuje mejo, v kateri strežnik začne odkrivati napake. Izbira hektara je dober primer, saj prikazuje poizvedbe, ki zahtevajo največ sredstev.

Beta izdaja marca 2019

| Nb simuliranih uporabnikov | Povprečni čas | Mediana | Najdaljši čas | Min. Čas | Odstotek napak | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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 |

Prihodnja izdaja na DEV-u (marec 2019)

| Nb simuliranih uporabnikov | Povprečni čas | Mediana | Najdaljši čas | Min. Čas | Odstotek napak | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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

Kako definirati kazalnike

Kazalnik Definiton

To Top

Reference

To Top

Kako navajati

To Top

Avtorji in recenzenti

Avtorji:

  • Daniel Hunacek
  • Lucien Zuber
  • Matthieu Dayer

Recenzenti:

To Top

Zahvala

Želimo izraziti našo globoko zahvalo projektu Hotmaps Obzorje 2020 (sporazum o dodelitvi sredstev 723677), ki je zagotovil sredstva za izvedbo te preiskave

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* Slovak* Spanish* Swedish*

* machine translated