Kazalo

Uvod

Ta stran vsebuje vse informacije, ki jih morajo razvijalci prispevati k platformi Hotmaps ali razumeti, kako deluje.

To Top

Integracija nabora podatkov

Vključevanje novih javnih naborov podatkov poteka na naslednji način:

  1. nabore podatkov je treba potisniti v repozitorij git ( dodajte svoje nabore podatkov v GitLab )
  2. vsako noč 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. Po končanem kodiranju se nove funkcije dodajo v produkcijsko platformo z novo izdajo

Integracija podatkov

Če nabor podatkov med integracijo ne uspe, se na Taigi (platforma za upravljanje projektov) ustvari težava. V težavi je prikazana napaka, ki jo je povzročil razvijalec, ki bi jo moral popraviti in znova potisniti svoje delo v Git, da ga bo skript lahko poskusil ponovno integrirati naslednji večer.

Izvorna koda integracijskega skripta je na voljo na tej povezavi: Integracija podatkov

To Top

Dodajte svoje nabore podatkov v GitLab

Če želite nabore podatkov dodati na seznam javnih naborov podatkov, jih je treba potisniti v novo skladišče Git na GitLab. Tu je organizacija GitLab, kamor je treba potiskati nabore podatkov: Nabori podatkov na GitLab .

Enkrat na dan se v skladiščih preveri, ali so v njih nove zaveze, in jih integrirajo. Proces integracije preveri, ali podatki ustrezajo specifikaciji 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 pod organizacijo Hotmaps . Ta organizacija ima v lasti več skladišč

To Top

Kako prispevati kodo

Če želite v Hotmaps dodati nekaj kode, imate dve možnosti: če želite neposredno posodobiti vmesnik ali zaledje, morate spremeniti odjemalca ali repozitorij storitev v orodjarni. Če želite dodati svoj modul za izračun, lahko ustvarite lastno repozitorij, tako da upoštevate branje repozitorija base_calculation_module

Če želite opraviti nekaj dela na repozitoriju Git, ne sodelujte neposredno z glavno vejo. Iz veje za razvoj ustvarite novo vejo, opravite 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 Hotmaps, morate biti član ekipe Hotmaps, če tega ne storite, lahko še vedno izvedete vilico našega orodja, da razvijete svoje orodje.

Več informacij o tem, kako delati, najdete v teh dokumentih:

To Top

Opis IT infrastrukture

ReverseProxy_architecture_latest

Vse storitve in komponente se uporabljajo prek lastnega Dockerjevega vsebnika. Vsi ti vsebniki so definirani v eni datoteki za sestavljanje dockerjev. Zgornja slika predstavlja IT arhitekturo Hotmaps.

Nekatere partnerske organizacije so komunikacijo omejile samo na vrata 80. Da bi se izognili težavam, ki jih povzroča ta omejitev, je bila izdelana obratna proxy. Ta obratni strežnik proxy ponuja eno vstopno točko, nato pa zahtevo, ki jo kupec pošlje zadevni storitvi. Povratni proxy je sestavljen iz treh komponent:

  1. Povratni proxy strežnik: služi kot edinstvena vstopna točka in razdeli zahteve pravim storitvam.
  2. Proxy-gen: to je storitev, ki samodejno preslika vse storitve v obratnem strežniku proxy. Tako ni treba ročno dodati nove storitve v konfiguracijo proxyja
  3. lets-encrypt: to je storitev, ki omogoča uporabo protokola SSL. To je potrebno za aktiviranje protokola https. Potrdila SSL so podpisana z e-poštnim naslovom, konfiguriranim v tej storitvi.

Obstajajo tri mreže:

  • hotmaps_nginx omogoča povratnemu strežniku proxy, da komunicira z API-jem, vmesnikom in GeoServerjem. Omogoča predvsem distribucijo zahteve med ustreznimi službami med tremi.
  • hotmaps_backend omogoča komunikacijo med vsemi komponentami zaledja: API, frontend, GeoServer in bazo podatkov PostgreSQL.
  • hotmaps_cm-net omogoča komunikacijo med posameznimi moduli za izračun in API-jem.

Vsak modul za izračun ima svoj Dockerjev vsebnik.

To Top

Zaženi 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 vsebnikov z enim preprostim ukazom:

 docker-compose up

Na spletnem mestu Dockerja najdete več informacij o docker-compose: sestavi referenco ukazne vrstice in sklic datoteke .

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

To Top

Strežniška infrastruktura

Infrastruktura

Trenutno strežnik gostuje na HES-SO v Švici. Na voljo sta 2 stroja: eden za razvoj (razvoj in preizkušanje) in en za proizvodnjo (dejanska zbirka orodij je na voljo na www.hotmaps.eu ).

Oba stroja imata enake specifikacije:

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

Izvedba

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

Kot primer so spodaj rezultati prve izdaje beta v primerjavi s preskusi prihodnje izdaje. Nova izdaja vključuje nekaj izboljšav zmogljivosti.

Ta primer prikazuje preizkuse učinkovitosti sočasnih uporabnikov, ki uporabljajo isto funkcijo: "krivulja trajanja za izbiro hektarja". Krepka vrstica prikazuje mejo, pri kateri strežnik začne pojavljati napake. Izbor hektarjev je dober primer, saj prikazuje poizvedbe, ki zahtevajo največ sredstev.

Beta izdaja marca 2019

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

Končna izdaja (avgust 2020)

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

PREBERI.ME

Read.ME

To Top

Kako določiti kazalnike

Opredelitev kazalnika

To Top

Kako citirati

Daniel Hunacek, Lucien Zuber, Matthieu Dayer, v Hotmaps Wiki, oddelek za razvijalce (september 2020)

To Top

Avtorji in recenzenti

To stran so napisali Daniel Hunacek, Lucien Zuber in Matthieu Dayer ( HES-SO ).

☑ To stran je pregledal Mostafa Fallahnejad ( EEG - TU Wien ).

To Top

Licenca

Avtorske pravice © 2016-2020: Daniel Hunacek, Lucien Zuber in Matthieu Dayer

Creative Commons Attribution 4.0 International License

To delo je licencirano pod licenco Creative Commons CC BY 4.0 International.

Identifikator licence SPDX: CC-BY-4.0

Besedilo licence: https://spdx.org/licenses/CC-BY-4.0.html

To Top

Zahvala

Najgloblje se zahvaljujemo projektu Obzorja 2020 Hotmaps (sporazum o dodelitvi sredstev št. 723677), ki je zagotovil sredstva za izvedbo te preiskave

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* Lithuanian* Latvian* Maltese* Dutch* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Swedish*

* machine translated