Качели

Установите и настройте балансировщик нагрузки Seesaw

Установите и настройте балансировщик нагрузки Seesaw
В наш век мультипрограммирования несколько процессов работают одновременно, и много усилий прилагается для увеличения пропускной способности и эффективности работы. Серверы должны обрабатывать большую нагрузку, и иногда очень сложно управлять трафиком. Таким образом, существуют балансировщики нагрузки для распределения нескольких вычислительных ресурсов для оптимального использования ресурсов, увеличения пропускной способности и времени отклика. Балансировщики нагрузки распределяют нагрузку трафика между несколькими сетями или кластерными узлами для повышения доступности, надежности и производительности сети. Входящим запросам назначается виртуальный IP-адрес, также известный как VIP на самом балансировщике нагрузки, а затем балансировщик нагрузки передает запросы соответствующему серверу, находящемуся за ним, с наименьшими изменениями пакетов.  Затем сервер отвечает балансировщику нагрузки необходимыми данными, которые, наконец, отправляются на клиентский сайт балансировщиком нагрузки.

Типы балансировки нагрузки

Существует два типа платформ балансировки нагрузки - HAProxy и виртуальный сервер Linux, также известный как LVS, и Seesaw v2 - платформа балансировки нагрузки на основе виртуального сервера Linux.

Качели - это очень гибкий инструмент, который можно использовать как базовый балансировщик нагрузки для веб-сайтов малого и среднего размера, так и расширенный балансировщик нагрузки для сетей корпоративного уровня, где дюжина серверов соединена между собой. Он поддерживает некоторые из расширенных функций Ipv6, таких как anycast, многоадресная, одноадресная и прямой возврат сервера, несколько VLAN.

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

Предварительные требования

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

  2. Целостность тарбола можно проверить, сравнив хеш-значение, созданное с помощью команды shassum, с хеш-значением, указанным на веб-сайте. Если есть какая-либо разница в значениях хэшей, необходимо всегда загружать новый tarball архива. Если проверка прошла успешно, переходите к руководству.

    $ shasum -a 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 в Ubuntu, настройте рабочее пространство Go, создав каталог ~ / go_project_directory, который является корнем рабочего пространства. Рабочее пространство содержит три основных каталога
    • bin - содержит бинарные файлы голанга.
    • src- хранит все исходные файлы.
    • pkg- в котором будут храниться объекты пакета.
    Дерево каталогов можно создать следующим образом:

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

  5. Чтобы выполнить Go, следуйте инструкциям остальных программ Linux, не указывая его абсолютный путь. Каталог, в котором установлен golang, должен использоваться как одно из значений переменной среды $ PATH.
    • Добавить / USR / местные / идти / бен в переменную среды PATH необходимо выполнить следующую команду:
    $ sudo gedit $ HOME /.профиль

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

    $ vi .профиль

    потом / USR / местные / идти / бен должен быть добавлен к пути. Затем все изменения должны быть сохранены, и пользователю необходимо выйти из профиля и снова войти в систему для дальнейших действий.

    • Все пути задаются в профиле путем установки значений GOPATH и GOBIN.
    экспорт GOPATH = "$ HOME / go"
    экспорт GOBIN = "$ GOPATH / bin"
    • Если GoLang установлен в пользовательском каталоге, отличном от каталога по умолчанию (/ usr / local), необходимо указать этот каталог в качестве переменной GOROOT. Это сделано в .профиль
    экспорт GOROOT = ”$ HOME / go
    экспорт ПУТЬ = $ ПУТЬ: / usr / local / go / bin: $ GOPATH / bin

  6.  Среду GoLang после успешной настройки можно проверить в терминале, выполнив следующую команду: $ go
    $ go env

Установка качелей

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

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

      $ сделать тест
      $ make install
      $ make proto

      После выполнения трех вышеуказанных команд двоичные файлы качелей устанавливаются в соответствующие места. это можно сделать, создав saw_install в $ GOPATH / bin и выполнив приведенный ниже скрипт.

      SEESAW_BIN = "/ usr / local / качели"
      SEESAW_ETC = "/ etc / качели
      SEESAW_LOG = "/ var / log / качели"
      INIT = 'ps -p 1 -o comm ='
      install -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
      установить "$ GOPATH / bin / saw_cli" / usr / bin / sawaw
      для компонента в ecu, engine, ha, healthcheck, ncc, watchdog; делать
      установить "$ GOPATH / bin / sawaw _ $ component" "$ SEESAW_BIN"
      Выполнено
      если [$ INIT = "инициализация"]; тогда
      установить "etc / init / Seeaw_watchdog.conf "" / etc / init "
      elif [$ INIT = "systemd"]; тогда
      установить "etc / systemd / system / Seeaw_watchdog".служба "" / etc / systemd / system "
      systemctl --system daemon-reload
      фи
      установить "etc / sawaw / watchdog".cfg "" $ SEESAW_ETC "
      # Включить CAP_NET_RAW для двоичных файлов с качелями, которым требуются необработанные сокеты.
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / sawaw_ha"
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / sawaw_healthcheck"

Настройка качелей

  1. Каждому узлу нужны качели.cfg, известный как файл конфигурации, в котором хранится информация об узле и его одноранговом узле. Protobuf - это файл конфигурации кластера для каждого кластера в текстовом формате. Это позволяет открывать его с помощью любого текстового редактора Linux, такого как nano, vi. Можно изменить качели.cfg с помощью следующей команды:
$ vi / и т. д. / качели / качели.cfg

Пример качелей.cfg файл

[кластер]
anycast_enabled = ложь
name = 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]
первичный = качели-config1.пример.ком
вторичный = качели-config2.пример.ком
третичный = качели-config3.пример.ком
[интерфейс]
узел = eth0
фунт = eth1

Описание указанного скрипта приведено ниже

Заключение

Благодаря огромным преимуществам функции балансировки нагрузки, она часто используется во многих корпоративных сетях. Обычно в стандарте IPv4 существует три режима доставки: Unicast, Multicast и Broadcast. Anycast принимается в IPv6. Anycast редко присутствует в IPv4. Anycast использует для идентификации интерфейса из группы интерфейсов, которые подключаются к одной и той же службе.  VIP-адреса - это виртуальные IP-адреса, не принадлежащие ни одному физическому сетевому интерфейсу. Балансировщик нагрузки должен быть надежным и обладать наиболее важными функциями облачных сервисов.

Многие из балансировщиков нагрузки на рынке не имеют мониторинга внутреннего сервера и многих других специфических функций. На уровне 2/3/4 взаимодействия открытых систем существует несколько методов балансировки нагрузки. Эти уровни - уровень канала передачи данных, сетевой уровень и транспортный уровень. Seesaw использует технику уровня 4 с NAT и DSR (прямой возврат сервера). DSR изменяет поток трафика или нагрузку, позволяя серверу отвечать напрямую клиенту. В целом балансировщик нагрузки The Seesaw отличается прочностью и надежностью благодаря этим аспектам.

Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...