Hleðslujöfnuður með Docker

Hleðslujöfnuður með Docker

Þegar þú keyrir vefforrit vilt þú venjulega fá sem mest út úr auðlindum þínum án þess að þurfa að breyta hugbúnaðinum þínum í að nota fjölþráða eða flóknar atburðalykkjur. Docker veitir þér hins vegar einfalda leið til að hlaða jafnvægi á forritið þitt innbyrðis til að fá sem mest út úr auðlindum netþjónsins. Þessi grein mun sýna þér hvernig á að nota Nginx til að hlaða jafnvægi á vefforritið þitt með því að nota Docker á CentOS.

Skref 1: Búðu til einfalt forrit

Við munum nota ryð til að byggja þetta einfalda forrit. Að því gefnu að þú hafir sett upp ryð skaltu keyra cargo new webapp –bin. Þegar vel tekst til muntu sjá möppu sem heitir webapp. Inni í webapp, munt þú sjá skrá sem heitir Cargo.toml. Bættu eftirfarandi línum við það:

[dependencies.iron]
version = "*"

Næst, inni í src/main.rsskránni, fjarlægðu allt og fylltu hana út með eftirfarandi:

extern crate iron;

use iron::prelude::*;
use iron::status;

fn main() {
    Iron::new(|_: &mut Request| {
        Ok(Response::with((status::Ok, "Hello Vultr :)")))
    }).http("0.0.0.0:3000").unwrap();
}

Athugið: Ekki breyta IP innan forritsins. Þetta er stillt þannig að Docker geti hlustað á forritið þitt.

Þegar þú hefur lokið því skaltu setja saman forritið með því að keyra cargo build –release. Það fer eftir netþjóninum þínum, það gæti tekið nokkrar mínútur. Ef það eru engar villur skaltu prófa forritið með því að fylgja þessum skrefum:

  • Hlaupa target/release/webapp.
  • Farðu http://0.0.0.0:3000/í í vafranum þínum. Skiptu út 0.0.0.0fyrir IP tölu netþjónsins þíns.

Ef allt virkaði rétt muntu sjá "Halló Vultr :)" á síðunni.

Skref 2: Búðu til Docker gáma

Búðu til Dockerfileog fylltu það út með eftirfarandi:

FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp

Vistaðu skrána. Búðu síðan til skrá sem heitir deploy.shog fylltu hana út með eftirfarandi:

DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example . 

for ((i=0; i<DEPLOY; i++)); do
        docker kill $NAME$i ; docker rm $NAME$i
        docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done

Þegar þú keyrir þetta skriftu mun það byggja myndina og dreifa ílátinu miðað við magnið sem þú hefur stillt (sjálfgefið er 5). Ef gámurinn er til mun hann drepa hann og fjarlægja hann úr skránni áður en hann er notaður aftur.

Skref 3: Stilltu Nginx

Búðu til Nginx stillingarskrá og fylltu hana út með eftirfarandi:

upstream application {
    server localhost:45710;
    server localhost:46710;
    server localhost:47710;
    server localhost:48710;
    server localhost:49710;
}

server {
    listen 0.0.0.0:80;    
    location / {
    expires 1w;
        proxy_pass http://application;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Skiptu út 0.0.0.0fyrir IP tölu netþjónsins þíns.

Endurræstu Nginx með því að gera systemctl restart nginx. Leysaðu allar villur og haltu síðan áfram í næsta skref.

Skref 4: Dreifðu forritinu

Dreifðu forritinu með því að keyra bash ./deploy.sh.

Þú getur athugað stöðu umsóknarinnar með docker ps- það verða búnar til 5 myndir sem byrja á webapp. Nú, flettu http://0.0.0.0:3000/í vafranum þínum, þú munt sjá "Halló, Vultr :)" skilaboðin aftur.

Svo, hvaða munur skiptir þetta nákvæmlega?

Ef þú keyrir viðmiðunarpróf gegn hleðslujafnvægisstillingunni, myndirðu taka eftir því að meira af netþjónaauðlindum þínum er notað, sem er það sem þú myndir vilja, sérstaklega ef forritið þitt er byggt á tungumálum eins og Node þar sem það væri venjulega einn þráður. Ef þú þarft einhvern tíma að uppfæra forritið þitt geturðu gert það og keyrt aftur deploy.shtil að endurbyggja myndina og dreifa gámunum þínum.


Svona á að skoða Hyper-V gáma á Windows 10 Insider

Svona á að skoða Hyper-V gáma á Windows 10 Insider

Microsoft hefur útskýrt í nýrri bloggfærslu hvernig Windows Insiders geta prófað Hyper-V gáma á Windows 10, ný virtualization lausn til að leyfa forritum að keyra án þess að hafa áhrif á restina af stýrikerfinu þínu.

Hvernig á að setja upp Harbor á CentOS 7

Hvernig á að setja upp Harbor á CentOS 7

Harbor er opinn uppspretta fyrirtækjaskrármiðlara sem geymir og dreifir Docker myndum. Harbor framlengir opinn uppspretta Docker Distribution b

Settu upp Rancher OS í gegnum iPXE

Settu upp Rancher OS í gegnum iPXE

Rancher OS er mjög létt Linux dreifing byggð í kringum Docker. Stýrikerfið sjálft vegur um 20MB. Þessi kennsla mun koma þér í gang með

Á CoreOS, settu upp þína eigin Docker Registry

Á CoreOS, settu upp þína eigin Docker Registry

Við þekkjum öll og elskum Docker, vettvang til að búa til, stjórna og dreifa forritagámum yfir margar vélar. Docker Inc. veitir þjónustu t

Setur upp docker-compose á CoreOS

Setur upp docker-compose á CoreOS

Þessi grein útskýrir hvernig á að setja upp docker-compose á CoreOS. Í CoreOS er /usr/ mappan óbreytanleg þannig að staðlaða /usr/local/bin slóðin er ekki tiltæk fyrir

Settu upp Rancher á CentOS 7

Settu upp Rancher á CentOS 7

Að nota annað kerfi? Inngangur Rancher er opinn uppspretta vettvangur til að keyra gáma og byggja upp einkagámaþjónustu. Rancher er grunnur

Settu upp Docker CE á Ubuntu 18.04

Settu upp Docker CE á Ubuntu 18.04

Inngangur Docker er forrit sem gerir okkur kleift að dreifa forritum sem eru keyrð sem gámar. Það var skrifað á hinu vinsæla Go forritunarmáli

Búðu til Docker Swarm á Alpine Linux 3.9.0

Búðu til Docker Swarm á Alpine Linux 3.9.0

Inngangur Þessi handbók mun sýna þér hvernig á að búa til og stilla Docker-sveim með því að nota marga Alpine Linux 3.9.0 netþjóna og Portainer. Vinsamlegast athugið að

Settu upp PHP forrit með því að nota Docker-compose

Settu upp PHP forrit með því að nota Docker-compose

PHP forrit eru venjulega samsett af vefþjóni, venslagagnagrunnskerfi og tungumálatúlknum sjálfum. Í þessari kennslu munum við vera skuldsett

Hleðslujöfnuður með Docker

Hleðslujöfnuður með Docker

Þegar þú keyrir vefforrit vilt þú venjulega fá sem mest út úr auðlindum þínum án þess að þurfa að breyta hugbúnaðinum þínum í að nota fjölþráða o

Settu upp Node.js forrit með því að nota Docker

Settu upp Node.js forrit með því að nota Docker

Þessi grein mun sýna þér hvernig á að dreifa Node forritinu þínu í Docker gám. Athugið: Þessi kennsla gerir ráð fyrir að þú hafir Docker uppsettan og lesinn

Uppsetning Docker CE á CentOS 7

Uppsetning Docker CE á CentOS 7

Docker gámatækni gerir þér kleift að keyra forrit í ákveðnu og einangruðu umhverfi. Docker Community Edition (CE) er nýja nafnið á fre

Settu upp Kubernetes með Kubeadm á CentOS 7

Settu upp Kubernetes með Kubeadm á CentOS 7

Yfirlit Þessari grein er ætlað að hjálpa þér að koma Kubernetes klasa í gang með kubeadm á skömmum tíma. Þessi handbók mun setja upp tvo netþjóna, á

Uppsetning Docker á CentOS 7

Uppsetning Docker á CentOS 7

Að nota annað kerfi? Docker er forrit sem gerir kleift að dreifa hugbúnaði innan sýndargáma. Það var skrifað í Go forritinu

Uppsetning Docker CE á Debian 9

Uppsetning Docker CE á Debian 9

Að nota annað kerfi? Inngangur Docker er forrit sem gerir kleift að dreifa hugbúnaði innan sýndargáma. Það var skrifað í G

Byrjaðu með SQL Server 2017 (MS-SQL) á CentOS 7 með Docker

Byrjaðu með SQL Server 2017 (MS-SQL) á CentOS 7 með Docker

Forkröfur Docker vél 1.8+. Lágmark 4GB af diskplássi. Lágmark 4GB af vinnsluminni. Skref 1. Settu upp Docker Til að setja upp SQL-þjóninn, Docker mus

Tvö grafísk stjórnunarverkfæri Docker: DockerUI og Shipyard

Tvö grafísk stjórnunarverkfæri Docker: DockerUI og Shipyard

Með hjálp Vultr Docker forritsins geturðu auðveldlega sett Docker á Vultr netþjóninn þinn. Á meðan geturðu auðveldað Docker stjórnun verkefnis

Settu upp Rancher Server á RancherOS

Settu upp Rancher Server á RancherOS

Yfirlit RancherOS er ótrúlega létt stýrikerfi (aðeins um 60 MB) sem keyrir Docker púkk kerfisins sem PID 0 til að keyra kerfisþjónustur

Byrjaðu með Kubernetes á CentOS 7

Byrjaðu með Kubernetes á CentOS 7

Kubernetes er opinn uppspretta vettvangur þróaður af Google til að stjórna gámaforritum yfir þyrping netþjóna. Það byggir á áratug og

Settu upp Rancher á Ubuntu 16.04

Settu upp Rancher á Ubuntu 16.04

Að nota annað kerfi? Inngangur Rancher er opinn uppspretta vettvangur til að keyra gáma og byggja upp einkagámaþjónustu. Rancher er grunnur

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira