Tartalomjegyzék

Bevezetés

Ez az oldal tartalmazza az összes információt, amelyre a fejlesztőknek hozzá kell járulniuk a Hotmaps platformhoz vagy annak működésének megértéséhez.

To Top

Adatkészlet integráció

Az új nyilvános adatkészletek integrációja a következőképpen zajlik:

  1. az adatkészleteket egy git adattárba kell tolni ( Adathalmazainak hozzáadása a GitLab-on )
  2. minden este egy szkript integrálja az új / frissített adathalmazokat a DEV platformba
  3. ha minden jól működött, az adatkészlet már elérhető a DEV platformon, és a fejlesztők integrálhatják a kódjukba
  4. A kódolás befejezése után az új funkciók egy új kiadással kerülnek a termelési platformra

Adatok integrálása

Ha az adatkészlet az integráció során meghiúsul, egy probléma jön létre a Taigán (projektmenedzsment platform). A kérdés megmutatja a felvetett hibát, és a fejlesztőnek javítania kell, és újra be kell tolnia munkáját Gitbe, hogy a szkript másnap este megpróbálja újra integrálni.

Az integrációs szkript forráskódja ezen a linken érhető el: Adatok integrálása

To Top

Adja hozzá az adatkészleteket a GitLab-on

Adatkészletek felvételéhez a nyilvános adatkészletek listájába azokat egy új Git-adattárba kell helyezni a GitLab-on. Itt van a GitLab Szervezet, ahová az adatkészleteket kell tolni: Adatkészletek a GitLab-on .

Naponta egyszer ellenőrzik az adattárak új elkötelezettségeit és integrálják, ha igen. Az integrációs folyamat ellenőrzi, hogy az adatok megfelelnek-e a specifikációnak.

Itt van a specifikáció: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

A fő adattárak listája

Az alkalmazás kódja a GitHub-on található a Hotmaps szervezet alatt . Ennek a szervezetnek több tárolója van

To Top

Hogyan lehet hozzájárulni a kódhoz

Ha néhány kódot szeretne hozzáadni a Hotmaps-hoz, akkor két lehetősége van: ha közvetlenül szeretné frissíteni a felületet vagy a háttérprogramot, akkor módosítania kell az eszköztár kliensét vagy szolgáltatástárát. Ha hozzá szeretné adni a saját számítási modulját, létrehozhatja saját tárát az base_calculation_module repository readme-jének követésével.

Ha valamilyen munkát szeretne végrehajtani a Git adattáron, kérjük, ne dolgozzon közvetlenül a fő ággal. Hozzon létre egy új ágat a fejlesztési ágból, végezze el a munkáját ezen az ágon, és amikor a szolgáltatása tesztelésre kerül, egyesítheti munkáját a fejlesztési ággal az alábbi grafikon szerint.

Git_workflow

Ahhoz, hogy valamit eljusson valamelyik Hotmaps-adattárba, a Hotmaps csapatának tagjának kell lennie, ha nem, akkor is képes végrehajtani az eszközünk egy villáját, hogy kifejlessze saját eszközét.

Ezekről a dokumentumokról további információkat talál a munkavégzésről:

To Top

Az informatikai infrastruktúra leírása

ReverseProxy_architecture_latest

Az összes szolgáltatást és alkatrészt a saját Docker konténerén keresztül használják. Ezeket a tárolókat egyetlen docker-compose fájl definiálja. A fenti kép a Hotmaps informatikai architektúráját ábrázolja.

Egyes partnerszervezetek csak a 80-as portra korlátozták a kommunikációt. Az e korlátozás okozta problémák elkerülése érdekében fordított proxyt hoztak létre. Ez a fordított proxy egyetlen belépési pontot kínál, majd elosztja az ügyfél által küldött kérést az érintett szolgáltatásnak. A fordított proxy három összetevőből áll:

  1. Fordított proxykiszolgáló: egyedi belépési pontként szolgál, és a megfelelő szolgáltatásoknak terjeszti a kéréseket.
  2. Proxy-gen: ez egy olyan szolgáltatás, amely automatikusan feltérképezi az összes szolgáltatást a fordított proxyban. Így nem szükséges új szolgáltatást manuálisan hozzáadni a proxy konfigurációjához
  3. lets-encrypt: ez egy olyan szolgáltatás, amely lehetővé teszi az SSL protokoll használatát. A https protokoll aktiválásához szükséges. Az SSL tanúsítványokat a szolgáltatásban konfigurált e-mail cím írja alá.

Három hálózat létezik:

  • A hotmaps_nginx lehetővé teszi, hogy a fordított proxy kommunikáljon az API-val, a kezelőfelülettel és a GeoServerrel. Elsősorban lehetővé teszi a helyes szolgáltatásra vonatkozó kérés terjesztését a három között.
  • A hotmaps_backend lehetővé teszi a kommunikációt a háttérprogram összes összetevője között: API, frontend, GeoServer és a PostgreSQL adatbázis.
  • A hotmaps_cm-net lehetővé teszi az egyes számítási modulok és az API közötti kommunikációt.

Minden számítási modulnak megvan a maga Docker tárolója.

To Top

Fuss Dockerrel

A Hotmaps a Docker szoftvert és a Docker-Compose eszközt használja a tárolók kezeléséhez. A docker-compose.yml fájl tartalmazza a Docker architektúra teljes konfigurációját (tárolók, hálózatok, hivatkozások konfigurációja ...). Ez lehetővé teszi a konténerek futtatását egyetlen egyszerű paranccsal:

 docker-compose up

A docker-compose-ról többet megtudhat a Docker webhelyén: Compose parancssori referencia és Compose file hivatkozás .

Csak egy tároló van, amelyet külön-külön futtatnak: ez az adatbázis, mert folyamatosan fent kell maradnia. Ezért nincs benne a docker-compose konfigurációs fájlban.

To Top

Szerver infrastruktúra

Infrastruktúra

Jelenleg a szervert a svájci HES-SO üzemelteti. 2 gép áll rendelkezésre: egy fejlesztésre (fejlesztés és tesztelés) és egy gyártásra (a tényleges eszköztár, elérhető a www.hotmaps.eu oldalon ).

Mindkét gép specifikációja megegyezik:

  • CPU: Intel Xeon E5-2680 v4 (8) @ 2,4 GHz)
  • RAM: 16 GB
  • HDD: 500 GB
  • Operációs rendszer: Ubutnu 16.04 LTS

Teljesítmény

Gyakran futtatunk teljesítményteszteket a fejlesztőkiszolgálón annak érdekében, hogy garantáljuk az egyidejű felhasználók bizonyos mennyiségét.

Példaként az alábbiakban bemutatjuk az első béta kiadás és a jövőbeni kiadási tesztek eredményeit. Az új kiadás tartalmaz néhány teljesítményjavítást.

Ez a példa egyidejű felhasználók teljesítménytesztjeit mutatja ugyanazon funkció használatával: "időgörbe a hektár kiválasztásához". A félkövér vonal azt a határt mutatja, ahol a szerver hibákat kezd felvetni. A hektár kiválasztása jó példa, mivel a legtöbb erőforrást igénylő lekérdezéseket mutatja.

2019. március béta kiadása

| Szimulált felhasználók száma Nb | Átlagos idő | Medián | Maximális idő | Min. Idő | A hibák százalékos aránya | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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 |

Végleges kiadás (2020 augusztus)

| Szimulált felhasználók száma Nb | Átlagos idő | Medián | Maximális idő | Min. Idő | A hibák százalékos aránya | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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

READ.ME

Olvassa el. ME

To Top

Hogyan lehet meghatározni a mutatókat

Mutató meghatározása

To Top

Hogyan lehet idézni

Daniel Hunacek, Lucien Zuber, Matthieu Dayer, a Hotmaps Wiki fejlesztői szekciójában (2020. szeptember)

To Top

Szerzők és lektorok

Ezt az oldalt Daniel Hunacek, Lucien Zuber és Matthieu Dayer ( HES-SO ) írták.

☑ Ezt az oldalt Mostafa Fallahnejad ( EEG - TU Wien ) vizsgálta felül.

To Top

Engedély

Copyright © 2016-2020: Daniel Hunacek, Lucien Zuber és Matthieu Dayer

Creative Commons Attribution 4.0 nemzetközi licenc

Ez a munka a Creative Commons CC BY 4.0 nemzetközi licenc alatt van licencelve.

SPDX-licenc-azonosító: CC-BY-4.0

Licenc-szöveg: https://spdx.org/licenses/CC-BY-4.0.html

To Top

Elismerés

Szeretnénk a legnagyobb elismerésünket kifejezni a Horizon 2020 Hotmaps projektnek (támogatási szerződés száma 723677), amely finanszírozást nyújtott a jelen vizsgálat elvégzéséhez

To Top

This page was automatically translated. View in another language:

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

* machine translated