Satura rādītājs

Ievads

Šajā lapā ir visa informācija, kas nepieciešama izstrādātājiem, lai sniegtu ieguldījumu Hotmaps platformā vai lai saprastu, kā tā darbojas.

To Top

Datu kopas integrācija

Jaunu publisko datu kopu integrācija notiek šādi:

  1. datu kopas jānovirza git repozitorijā ( pievienojiet savas datu kopas vietnē GitLab )
  2. katru vakaru skripts integrē jaunās / atjauninātās datu kopas DEV platformā
  3. ja viss darbojās labi, datu kopa tagad ir pieejama DEV platformā, un izstrādātāji to var integrēt savā kodā
  4. Kad kodēšana ir pabeigta, jaunās funkcijas tiek pievienotas ražošanas platformai, izmantojot jaunu laidienu

Datu integrācija

Ja integrācijas laikā datu kopa neizdodas, Taiga (projekta vadības platforma) tiek izveidots jautājums. Jautājums parāda radušos kļūdu, un izstrādātājam tā jānovērš un vēlreiz jāpiespiež savs darbs Gitam, lai skripts varētu mēģināt to atkal integrēt nākamajā vakarā.

Integrācijas skripta avota kods ir pieejams šajā saitē: Datu integrācija

To Top

Pievienojiet savas datu kopas vietnē GitLab

Lai pievienotu datu kopas publisko datu kopu sarakstā, tās jāpārvieto uz jaunu Git repozitoriju vietnē GitLab. Šeit ir GitLab organizācija, kurā ir jānospiež datu kopas: Datu kopas vietnē GitLab .

Reizi dienā krātuvēs tiek pārbaudītas jaunas saistības un, ja tā, tās tiek integrētas. Integrācijas procesā tiek pārbaudīts, vai dati atbilst specifikācijai.

Šeit ir specifikācija: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

Galveno krātuvju saraksts

Lietojumprogrammas kods atrodas GitHub organizācijā Hotmaps . Šai organizācijai pieder vairāki krātuves

To Top

Kā pievienot kodu

Ja vēlaties pievienot kodu Hotmaps, jums ir divas iespējas: ja vēlaties tieši atjaunināt saskarni vai aizmuguri, jums ir jāpārveido rīku kopas klients vai pakalpojumu krātuve. Ja vēlaties pievienot savu aprēķinu moduli, varat izveidot savu repozitoriju, sekojot repozitorija base_calculation_module readme

Ja vēlaties veikt kādu darbu Git repozitorijā, lūdzu, nestrādājiet tieši ar galveno filiāli. Izveidojiet jaunu filiāli no izstrādes filiāles, veiciet savu darbu ar šo filiāli un, kad jūsu funkcija ir pārbaudīta, jūs varat apvienot savu darbu ar filiāli attīstīt, kā parādīts šajā diagrammā.

Git_workflow

Lai kaut ko nogādātu kādā Hotmaps krātuvē, jums ir jābūt Hotmaps komandas dalībniekam, ja neesat, jūs joprojām varat veikt mūsu rīka dakšiņu, lai izstrādātu savu rīku.

Plašāku informāciju par darbu varat atrast šajos dokumentos:

To Top

IT infrastruktūras apraksts

ReverseProxy_architecture_latest

Visi pakalpojumi un komponenti tiek izmantoti, izmantojot savu Docker konteineru. Visi šie konteineri ir definēti vienā docker-compose failā. Augšējais attēls attēlo Hotmaps IT arhitektūru.

Dažas partnerorganizācijas ierobežoja saziņu tikai ar 80. portu. Lai izvairītos no problēmām, ko rada šis ierobežojums, tika izveidots apgrieztais starpniekserveris. Šis pretējais starpniekserveris piedāvā vienu ieejas punktu un pēc tam klienta nosūtīto pieprasījumu izplata attiecīgajam dienestam. Reverso starpniekserveri veido trīs sastāvdaļas:

  1. Reversais starpniekserveris: tas kalpo kā unikāls ieejas punkts un izplata pieprasījumus pareizajiem pakalpojumiem.
  2. Proxy-gen: tas ir pakalpojums, kas automātiski kartē visus apgrieztās starpniekservera pakalpojumus. Tādējādi nav nepieciešams manuāli pievienot jaunu pakalpojumu starpniekservera konfigurācijai
  3. ļauj šifrēt: tas ir pakalpojums, kas ļauj izmantot SSL protokolu. Tas ir nepieciešams, lai aktivizētu https protokolu. SSL sertifikātus paraksta e-pasta adrese, kas konfigurēta šajā pakalpojumā.

Pastāv trīs tīkli:

  • hotmaps_nginx ļauj reversajam starpniekserverim sazināties ar API, priekšējo daļu un GeoServer. Tas galvenokārt ļauj izplatīt pieprasījumu pareizajam dienestam starp trim.
  • hotmaps_backend ļauj sazināties starp visiem aizmugures komponentiem: API, frontend, GeoServer un PostgreSQL datu bāzi.
  • hotmaps_cm-net ļauj sazināties starp katru aprēķina moduli un API.

Katram aprēķina modulim ir savs Docker konteiners.

To Top

Palaist kopā ar Docker

Hotmaps izmanto dokers programmatūru un dokers-Rakstīt instruments, lai pārvaldītu konteineriem. Docker-compose.yml fails satur visu Docker arhitektūras konfigurāciju (konteineru, tīklu, saišu konfigurācija ...). Tas ļauj konteinerus palaist ar vienu vienkāršu komandu:

 docker-compose up

Vairāk par docker-compose ir atrodams Docker vietnē: Compose komandrindas atsauce un Compose file reference .

Ir tikai viens konteiners, kas tiek palaists atsevišķi no citiem: tā ir datu bāze, jo tai visu laiku jāpaliek augšā. Tāpēc tas nav docker-compose konfigurācijas failā.

To Top

Serveru infrastruktūra

Infrastruktūra

Pašlaik serveris tiek mitināts HES-SO Šveicē. Ir pieejamas 2 mašīnas: viena izstrādei (izstrāde un testēšana) un otra ražošanai (faktiskā rīkkaste, pieejama vietnē www.hotmaps.eu ).

Abām mašīnām ir vienāda specifikācija:

  • Procesors: Intel Xeon E5-2680 v4 (8) @ 2,4 GHz)
  • Operatīvā atmiņa: 16 GB
  • HDD: 500 GB
  • OS: Ubutnu 16.04 LTS

Izrāde

Mēs bieži veicam veiktspējas testus izstrādes serverī, lai garantētu noteiktu vienlaicīgu lietotāju daudzumu.

Tālāk ir sniegti pirmās beta versijas un turpmāko izlaišanas testu rezultāti. Jaunajā laidienā ir iekļauti daži veiktspējas uzlabojumi.

Šis piemērs parāda vienlaicīgu lietotāju veiktspējas testus, izmantojot to pašu funkciju: "ilguma līkne hektāra izvēlei". Treknrakstā redzamā līnija parāda robežu, kurā serveris sāk kļūdīties. Hektāra atlase ir labs piemērs, jo tā parāda vaicājumus, kuriem nepieciešami visvairāk resursu.

Beta izlaidums 2019. gada martā

| Imitēto lietotāju Nb Vidējais laiks | Mediāna | Maksimālais laiks | Min laiks | Kļūdu procentuālā daļa | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1042 | 1042 | 1042 | 1042 | 0 | | 20 | 3608 | 3858 | 4475 | 2156 | 0 | | 50 | 7337 | 7595 | 11791 | 1568 | 0 | | 100 | 13897 | 13644 | 24492 | 1875. gads 0 | | 200 | 27135 | 26380 | 51967 | 3045 | 0 | | 300 | 41237 | 43083 | 73245 | 3223 | 10,67 |

Galīgā izlaišana (2020. gada augusts)

| Imitēto lietotāju Nb Vidējais laiks | Mediāna | Maksimālais laiks | Min laiks | Kļūdu procentuālā daļa | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1025 | 970 | 1151 | 956 | 0 | | 20 | 1671 | 1732. gads 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

LASI.ME

Lasīt. ES

To Top

Kā definēt rādītājus

Rādītāja definīcija

To Top

Kā citēt

Daniel Hunacek, Lucien Zuber, Matthieu Dayer, Hotmaps Wiki izstrādātāju sadaļā (2020. gada septembris)

To Top

Autori un recenzenti

Šo lapu ir uzrakstījuši Daniels Hunaceks, Lusjēns Zubers un Metjē Dajers ( HES-SO ).

☑ Šo lapu pārskatīja Mostafa Fallahnejad ( EEG - TU Wien ).

To Top

Licence

Autortiesības © 2016-2020: Daniel Hunacek, Lucien Zuber un Matthieu Dayer

Creative Commons Attribution 4.0 starptautiskā licence

Šis darbs ir licencēts saskaņā ar Creative Commons CC BY 4.0 starptautisko licenci.

SPDX-licences identifikators: CC-BY-4.0

Licences teksts: https://spdx.org/licenses/CC-BY-4.0.html

To Top

Pateicība

Mēs vēlamies paust visdziļāko pateicību Horizon 2020 Hotmaps projektam (Granta līguma numurs 723677), kas nodrošināja finansējumu šīs izmeklēšanas veikšanai

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

* machine translated