Люлея

Инсталирайте и конфигурирайте балансиращия механизъм за натоварване

Инсталирайте и конфигурирайте балансиращия механизъм за натоварване
В тази епоха на мултипрограмирането има няколко процеса, които се изпълняват едновременно и се полагат много усилия за увеличаване на производителността и ефективността на работата. Сървърите трябва да се справят с много натоварване и понякога е много трудно да управляват трафика. По този начин съществуват балансиращи натоварвания, които да разпределят няколко изчислителни ресурси за оптимално използване на ресурсите, увеличаване на производителността и времето за реакция. Това, което правят балансиращите натоварвания, е да разпределят натоварването на трафика в множество мрежи или клъстерирани хостове, за да увеличат наличността, надеждността и производителността на мрежата. На входящите заявки се присвоява виртуален IP, известен също като VIP на самия балансиращ товар, и след това балансиращият товар предава заявките на съответния сървър зад него с най-малко модификации на пакетите.  След това сървърът отговаря на балансиращия товар с необходимите данни, които накрая се изпращат на клиентския сайт от балансиращия товар.

Видове баланси на натоварване

Има два вида платформи за балансиране на натоварването - HAProxy и Linux Virtual Server, известни също като LVS, и Seesaw v2 е платформа за балансиране на натоварването, базирана на Linux виртуален сървър.

Seesaw е много гъвкав инструмент, който може да се използва като основен балансиращ товар за малки и средни уебсайтове до усъвършенстван балансиращ товар за мрежи на корпоративно ниво, където дузина сървъри са свързани помежду си. Той поддържа някои разширени функции на Ipv6 като anycast, multicast, unicast и директно връщане на сървъра, множество VLAN.

Наличието на здрав дизайн го прави подходящ за лесна поддръжка и надеждност. Той е проектиран през 2012 г., за да отговори на уникалните нужди на Google, на които съществуващите опции не отговарят. Той е разработен в Go, който е статично типизиран език и произлиза от C език. Той съдържа много езикови функции на високо ниво като събиране на боклука за почистване на паметта, безопасност на типа, масиви с променлива дължина, възможности за динамично писане и карти с ключ-стойност и голяма стандартна библиотека. Golang е компилиран език, разработен от Google. Много съвременни приложения като Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) и Caddy са написани в Go.

Предварително условие

  1. Връзката за изтегляне на последната версия на GoLang за Linux е достъпна в https: // golang.org / dl / под формата на архивен файл.

  2. Целостта на tarball може да се провери чрез сравняване на стойността на хеш, генерирана с помощта на командата shassum, със стойността на хеш, предоставена в уебсайта. Ако има някаква разлика в хеш стойностите, винаги трябва да се изтегли нов tarball на архива. Ако проверката е успешна, продължете преди урока.

    $ shasum -а 256 go1.11.5.linux-amd64.катран.gz

    В тази команда -a се използва за задаване на алгоритъма за генериране на хеш стойност и тази команда като цяло изпълнява контролната сума SHA256 на архивните файлове.

  3. Следващата стъпка е да извлечете архивните файлове на tar, ако проверката на целостта е успешна, в / usr / local директорията с помощта на командата, дадена по-долу: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.катран.gz

    В тази команда -C указва целевата директория, където се изпращат извлечените файлове.

  4. За да конфигурирате Go Environment в настройката на Ubuntu Go работно пространство, като създадете директория ~ / go_project_directory, която е коренът на работното пространство. Работното пространство съдържа три основни директории
    • bin - съдържа двоични файлове на golang.
    • src - който съхранява всички изходни файлове.
    • pkg - който ще съхранява обекти на пакети.
    Дърво на директории може да бъде създадено, както следва:

    $ mkdir -p ~ / go_projects / bin, src, pkg
    $ cd go_projects /
    $ ls

  5. За да изпълните Go, следвайте като останалите програми на Linux, без да посочвате абсолютния път. Директорията, в която е инсталиран golang, трябва да се използва като една от стойностите на променливата на средата $ PATH.
    • Добавям / usr / local / go / bin към променливата на средата PATH трябва да се изпълни следната команда:
    $ sudo gedit $ НАЧАЛО /.профил

    Или може да го отворите в терминала с помощта на командата

    $ vi .профил

    Тогава / usr / local / go / bin трябва да се добави към пътя. След това всички промени трябва да бъдат запазени и потребителят трябва да излезе от профила и отново да влезе за по-нататъшни процедури.

    • Всички пътеки се задават в профила чрез задаване на стойностите на GOPATH и GOBIN.
    износ GOPATH = ”$ HOME / go”
    износ GOBIN = ”$ GOPATH / bin”
    • Ако GoLang е инсталиран в потребителска директория, различна от стандартната (/ usr / local), има изискването да се посочи тази директория като променлива GOROOT. Извършва се в th .профил от
    износ GOROOT = ”$ HOME / go
    износ PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin

  6.  Околната среда GoLang след успешна настройка може да бъде проверена в терминала, като изпълните следната команда: $ go
    $ go env

Инсталиране на Seesaw

  1. Изискването беше да се инсталира Go, тъй като Seesaw v2 е разработен с него и зависи от няколко пакета Go като:
> голанг.org / x / crypto / ssh
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
  1. Ако някой желае да регенерира кода на protobuf, също е необходим компилаторът protobuf и генераторът на компилатора protobuf Go: $ apt-get install protobuf-compiler
    $ go вземете -u github.com / golamg / protobuf / proto, proto-gen-go

    1. Винаги трябва да се гарантира, че $ GOPATH / bin е в $ PATH и в директорията на ножовките.
    2. Следващата стъпка е да стартирате командата make, тъй като тя води до добавяне на няколко двоични файла в $ GOPATH / bin с префикс seeaw_, тези двоични файлове трябва да бъдат инсталирани на подходящи места.

      $ make test
      $ make install
      $ make proto

      След стартиране на горните три команди бинарните файлове на клатушките са настроени на подходящи местоположения. това може да се направи чрез създаване на seeaw_install в $ GOPATH / bin и изпълнение на скрипта по-долу.

      SEESAW_BIN = "/ usr / local / klackalica"
      SEESAW_ETC = "/ и т.н. / клатушка
      SEESAW_LOG = "/ var / log / klackalica"
      INIT = 'ps -p 1 -o comm ='
      инсталиране -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
      инсталирайте "$ GOPATH / bin / seeaw_cli" / usr / bin / playsaw
      за компонент в ecu, engine, ha, healthcheck, ncc, watchdog; направете
      инсталирайте "$ GOPATH / bin / klackalica _ $ компонент" "" $ SEESAW_BIN "
      Свършен
      ако [$ INIT = "init"]; тогава
      инсталирайте "etc / init / seeaw_watchdog.conf "" / etc / init "
      elif [$ INIT = "systemd"]; тогава
      инсталирайте "etc / systemd / system / seeaw_watchdog.услуга "" / etc / systemd / system "
      systemctl --system daemon-reload
      fi
      инсталирайте "и т.н. / клавиша / пазач.cfg "" $ SEESAW_ETC "
      # Разрешаване на CAP_NET_RAW за бинарни файлове, които изискват сурови сокети.
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"

Конфигуриране на Seesaw

  1. Всеки възел изисква клатушка.cfg файл, известен като конфигурационен файл, където се съхранява информация за възела и принадлежащия му връстник. Protobuf е конфигурационният файл на клъстера за всеки клъстер и е в обикновен текстов формат. Това позволява да се отваря с всеки текстов редактор на Linux като nano, vi. Човек може да промени клатушката.cfg, като използвате следната команда:
$ vi / и т.н. / клатушка / клатушка.cfg

Пример за клатушка.cfg файл

[клъстер]
anycast_enabled = false
име = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: кафе :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: кафе :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: кафе :: 1
[config_server]
първичен = витрина-конфигурация1.пример.com
вторичен = витрина-конфигурация2.пример.com
третичен = ножовка-конфигурация3.пример.com
[интерфейс]
възел = eth0
lb = eth1

Описанието на гореспоменатия крипт е дадено по-долу

Заключение

Поради огромните предимства на функцията за балансиране на натоварването, тя често се използва в много корпоративни мрежи. Има три вида режими на доставка като цяло в стандарт IPv4, Unicast, Multicast и Broadcast. Anycast се приема в IPv6. Anycast присъства рядко в IPv4. Anycast използва за идентифициране на интерфейс от група интерфейси, които се свързват към една и съща услуга.  VIP лицата са виртуални IP адреси, които не принадлежат към нито един физически мрежов интерфейс. Балансът на натоварването трябва да бъде надежден и да има най-важните функции в облачните услуги.

Много от балансиращите натоварвания на пазара нямат мониторинг на бекенд сървъри и много други специфични функции. Има няколко метода за балансиране на натоварването на взаимосвързания слой 2/3/4 на отворени системи. Тези слоеве са слой за връзка с данни, мрежов слой и транспортен слой. Seesaw използва техника 4 слой с NAT AND DSR (Direct Server Return). DSR модифицира потока от трафика или товара, като позволява на сървъра да реагира директно на клиента. Като цяло балансьорът на натоварването Seesaw е здрав и надежден поради тези аспекти.

Как да промените курсора на мишката и размера на курсора, цвета и схемата в Windows 10
Показалецът на мишката и курсорът в Windows 10 са много важни аспекти на операционната система. Това може да се каже и за други операционни системи, т...
Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...