Баланс оптерећења са Доцкер-ом

Баланс оптерећења са Доцкер-ом

Када покрећете веб апликацију, обично желите да максимално искористите своје ресурсе без потребе да конвертујете свој софтвер да користи вишенитно или сложене петље догађаја. Доцкер вам, међутим, пружа једноставан начин да интерно уравнотежите оптерећење ваше апликације како бисте на најбољи начин искористили ресурсе сервера. Овај чланак ће вам показати како да користите Нгинк за балансирање оптерећења ваше веб апликације користећи Доцкер на ЦентОС-у.

Корак 1: Направите једноставну апликацију

Користићемо руст да направимо ову једноставну апликацију. Под претпоставком да имате инсталиран руст, покрените cargo new webapp –bin. Након успеха, видећете директоријум под називом webapp. Унутар webapp, видећете датотеку под називом Cargo.toml. Додајте му следеће редове:

[dependencies.iron]
version = "*"

Затим, унутар src/main.rsдатотеке, уклоните све и попуните је следећим:

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();
}

Напомена: Немојте мењати ИП у оквиру апликације. Ово је конфигурисано тако да Доцкер може да слуша вашу апликацију.

Када завршите, компајлирајте апликацију тако што ћете извршити cargo build –release. У зависности од вашег сервера, може потрајати неколико минута. Ако нема грешака, тестирајте апликацију пратећи ове кораке:

  • Трчи target/release/webapp.
  • Идите на http://0.0.0.0:3000/у свом претраживачу. Замените 0.0.0.0ИП адресом вашег сервера.

Ако је све функционисало како треба, видећете „Здраво Вултр :)“ на страници.

Корак 2: Креирајте Доцкер контејнере

Направите а Dockerfileи попуните га следећим:

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

Сачувајте датотеку. Затим креирајте датотеку под називом deploy.shи попуните је следећим:

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

Када покренете ову скрипту, она ће изградити слику и применити контејнер на основу количине коју сте подесили (подразумевано је 5). Ако контејнер постоји, он ће га убити и уклонити из регистра пре него што се поново примени.

Корак 3: Конфигуришите Нгинк

Сада креирајте Нгинк конфигурациону датотеку и попуните је следећим:

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;
    }
}

Замените 0.0.0.0ИП адресом вашег сервера.

Поново покрените Нгинк тако што ћете урадити systemctl restart nginx. Отклоните све грешке, а затим пређите на следећи корак.

Корак 4: Поставите апликацију

Покрените апликацију тако што ћете покренути bash ./deploy.sh.

Можете проверити статус ваше апликације помоћу docker ps- биће креирано 5 слика које почињу са webapp. Сада, идите до http://0.0.0.0:3000/у свом претраживачу, поново ћете видети поруку „Здраво, Вултр :)“.

Дакле, каква је то разлика?

Ако покренете бенцхмарк тест у односу на конфигурацију балансера оптерећења, приметићете да се користи више ресурса вашег сервера, што бисте и желели, посебно ако је ваша апликација изграђена на језицима као што је Ноде где би иначе била једнонитна. Ако икада будете требали да надоградите своју апликацију, можете то учинити и поново покренути да deploy.shбисте поново направили слику и поставили своје контејнере.


Ево како да проверите Хипер-В контејнере на Виндовс 10 Инсидер-у

Ево како да проверите Хипер-В контејнере на Виндовс 10 Инсидер-у

Мицрософт је у новом посту на блогу објаснио како Виндовс Инсајдери могу тестирати Хипер-В контејнере на Виндовс 10, ново решење за виртуелизацију које омогућава покретање апликација без утицаја на остатак вашег оперативног система.

Како инсталирати Харбор на ЦентОС 7

Како инсталирати Харбор на ЦентОС 7

Харбор је сервер регистра предузећа отвореног кода који чува и дистрибуира Доцкер слике. Харбор проширује Доцкер Дистрибутион отвореног кода б

Инсталирајте Ранцхер ОС преко иПКСЕ

Инсталирајте Ранцхер ОС преко иПКСЕ

Ранцхер ОС је веома лагана Линук дистрибуција изграђена око Доцкер-а. Сам ОС тежи око 20МБ. Овај водич ће вас покренути и покренути

На ЦореОС-у, подесите сопствени Доцкер регистар

На ЦореОС-у, подесите сопствени Доцкер регистар

Сви знамо и волимо Доцкер, платформу за креирање, управљање и дистрибуцију контејнера апликација на више машина. Доцкер Инц. пружа услугу т

Инсталирање доцкер-цомпосе на ЦореОС

Инсталирање доцкер-цомпосе на ЦореОС

Овај чланак објашњава како да инсталирате доцкер-цомпосе на ЦореОС. У ЦореОС-у, директоријум /уср/ је непроменљив тако да је стандардна /уср/лоцал/бин путања недоступна за

Инсталирајте Ранцхер на ЦентОС 7

Инсталирајте Ранцхер на ЦентОС 7

Користите другачији систем? Увод Ранцхер је платформа отвореног кода за покретање контејнера и изградњу приватног контејнерског сервиса. Ранчер је база

Инсталирајте Доцкер ЦЕ на Убунту 18.04

Инсталирајте Доцкер ЦЕ на Убунту 18.04

Увод Доцкер је апликација која нам омогућава да применимо програме који се покрећу као контејнери. Написан је у популарном Го програмском језику

Направите Доцкер Сварм на Алпине Линук 3.9.0

Направите Доцкер Сварм на Алпине Линук 3.9.0

Увод Овај водич ће вам показати како да креирате и конфигуришете Доцкер рој користећи више Алпине Линук 3.9.0 сервера и Портаинер-а. Имајте на уму да

Поставите ПХП апликацију користећи Доцкер-цомпосе

Поставите ПХП апликацију користећи Доцкер-цомпосе

ПХП апликације се обично састоје од веб сервера, система релационих база података и самог тумача језика. У овом туторијалу бићемо полуге

Баланс оптерећења са Доцкер-ом

Баланс оптерећења са Доцкер-ом

Када покрећете веб апликацију, обично желите да максимално искористите своје ресурсе без потребе да конвертујете софтвер да користи вишенитно о

Поставите Ноде.јс апликацију користећи Доцкер

Поставите Ноде.јс апликацију користећи Доцкер

Овај чланак ће вам показати како да примените своју Ноде апликацију у Доцкер контејнеру. Напомена: Овај водич претпоставља да имате инсталиран и прочитан Доцкер

Инсталирање Доцкер ЦЕ на ЦентОС 7

Инсталирање Доцкер ЦЕ на ЦентОС 7

Доцкер контејнерска технологија вам омогућава да покрећете апликације у специфичном и изолованом окружењу. Доцкер Цоммунити Едитион (ЦЕ) је ново име за фре

Поставите Кубернетес са Кубеадм-ом на ЦентОС 7

Поставите Кубернетес са Кубеадм-ом на ЦентОС 7

Преглед Овај чланак има за циљ да вам помогне да за кратко време покренете Кубернетес кластер са кубеадм-ом. Овај водич ће применити два сервера, на

Инсталирање Доцкер-а на ЦентОС 7

Инсталирање Доцкер-а на ЦентОС 7

Користите другачији систем? Доцкер је апликација која омогућава примену софтвера унутар виртуелних контејнера. Написано је у Го програму

Инсталирање Доцкер ЦЕ на Дебиан 9

Инсталирање Доцкер ЦЕ на Дебиан 9

Користите другачији систем? Увод Доцкер је апликација која омогућава примену софтвера унутар виртуелних контејнера. Написано је у Г

Започните са СКЛ Сервером 2017 (МС-СКЛ) на ЦентОС 7 помоћу Доцкер-а

Започните са СКЛ Сервером 2017 (МС-СКЛ) на ЦентОС 7 помоћу Доцкер-а

Предуслови Доцкер енгине 1.8+. Најмање 4 ГБ простора на диску. Најмање 4 ГБ РАМ-а. Корак 1. Инсталирајте Доцкер Да бисте инсталирали СКЛ-Сервер, потребно је Доцкер

Стицки Сессион Витх Доцкер Сварм (ЦЕ) на Дебиан-у 9

Стицки Сессион Витх Доцкер Сварм (ЦЕ) на Дебиан-у 9

Користите другачији систем? Увод Доцкер Сварм претвара ваше појединачне сервере у кластер рачунара; олакшавање скалирања, висока доступност ан

Два Доцкер графичка алата за управљање: ДоцкерУИ и Схипиард

Два Доцкер графичка алата за управљање: ДоцкерУИ и Схипиард

Уз помоћ апликације Вултр Доцкер, можете лако да примените Доцкер на инстанци вашег Вултр сервера. У међувремену, можете олакшати задатак управљања Доцкер-ом

Инсталирајте Ранцхер Сервер на РанцхерОС

Инсталирајте Ранцхер Сервер на РанцхерОС

Преглед РанцхерОС је невероватно лаган оперативни систем (само око 60 МБ) који покреће системски Доцкер демон као ПИД 0 за покретање системских услуга

Почетак рада са Кубернетес-ом на ЦентОС-у 7

Почетак рада са Кубернетес-ом на ЦентОС-у 7

Кубернетес је платформа отвореног кода коју је развио Гоогле за управљање контејнерским апликацијама на кластеру сервера. Надовезује се на деценију и

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више