По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
gRPC — это мощная платформа для работы с удаленными вызовами процедур (Remote Procedure Calls). RPC позволят писать код так, как будто он будет выполняться на локальном компьютере, даже если он может выполняться на другом компьютере. Что такое RPC? RPC — это форма взаимодействия клиент-сервер, в которой используется вызов функции, а не обычный вызов HTTP. Идея в том, что мы можем вызвать и выполнить функцию где-то на удаленной системе, как если бы это была локальная функция. Он использует IDL (Interface Definition Language - язык описания интерфейса) как форму контракта на вызываемые функции и тип данных. RPC — это протокол "запрос-ответ", т.е. он следует модели "клиент-сервер": Клиент делает запрос на выполнение процедуры на удаленном сервере. Как и при синхронном локальном вызове, клиент приостанавливается до тех пор, пока не будут возвращены результаты процедуры. Параметры процедуры передаются по сети на сторону сервера. Процедура выполняется на сервере и, наконец, результаты передаются обратно клиенту. gRPC воспроизводит этот архитектурный стиль взаимодействия клиент-сервер через вызовы функций. Таким образом, gRPC технически не является новой концепцией. Скорее, он был заимствован из этой старой техники и улучшен, что сделало ее очень популярной. Что такое gRPC? В 2015 году Google открыл исходный код своего проекта, который в конечном итоге получил название gRPC. Но что на самом деле означает буква «g» в gRPC? Многие люди могут предположить, что это для Google, потому что Google это сделал, но это не так. Google меняет значение «g» для каждой версии до такой степени, что они даже сделали README, чтобы перечислить все значения. С момента появления gRPC он приобрел довольно большую популярность, и многие компании используют его. Есть много причин, по которым gRPC так популярен: простая абстракция, он поддерживается во многих языках и он очень эффективный. И помимо всех вышеперечисленных причин, gRPC популярен потому, что очень популярны микросервисы и имеется большое количество взаимодействий между ними. Именно здесь gRPC помогает больше всего, предоставляя поддержку и возможности для решения типичных проблем, возникающих в таких ситуациях. А поскольку разные сервисы могут быть написаны на разных языках, gRPC поставляется с несколькими библиотеками для их поддержки. Архитектура gRPC Мы сказали что производительность gRPC очень высока, но что делает ее такой хорошей? Что делает gRPC намного лучше, чем RPC, если их дизайн очень похож? Вот несколько ключевых отличий, которые делают gRPC столь эффективным. HTTP/2 HTTP был с нами очень долго. Сейчас почти все серверные службы используют этот протокол. HTTP/1.1 долгое время оставался актуальным, затем в 2015 году, появился HTTP/2, который фактически заменил HTTP/1.1 как самый популярный транспортный протокол в Интернете. Если вы помните, что 2015 год был также годом выхода gRPC, и это было вовсе не совпадение. HTTP/2 также был создан Google для использования gRPC в его архитектуре. HTTP/2 — одна из важных причин, почему gRPC может работать так хорошо. И в следующем разделе вы поймете, почему. Мультиплексирование запроса/ответа В традиционном протоколе HTTP невозможно отправить несколько запросов или получить несколько ответов вместе в одном соединении. Для каждого из них необходимо создать новое соединение. Такой вид мультиплексирования запроса/ответа стал возможен в HTTP/2 благодаря введению нового уровня HTTP/2, называемого binary framing. Этот двоичный уровень инкапсулирует и кодирует данные. На этом уровне HTTP-запрос/ответ разбивается на кадры (они же фреймы). Фрейм заголовков (HEADERS frame) содержит типичную информацию заголовков HTTP, а фрейм данных (DATA frame) содержит полезные данные. Используя этот механизм, можно получить данные из нескольких запросов в одном соединении. Это позволяет получать полезные данные из нескольких запросов с одним и тем же заголовком, тем самым идентифицируя их как один запрос. Сжатие заголовка Вы могли столкнуться со многими случаями, когда заголовки HTTP даже больше, чем полезная нагрузка. И HTTP/2 имеет очень интересную стратегию под названием HPack для решения этой проблемы. Во-первых, все в HTTP/2 кодируется перед отправкой, включая заголовки. Это помогает повысить производительность, но это не самое важное в сжатии заголовков. HTTP/2 сопоставляет заголовок как на стороне клиента, так и на стороне сервера. Из этого HTTP/2 может узнать, содержит ли заголовок одно и то же значение, и отправляет значение заголовка только в том случае, если оно отличается от предыдущего заголовка. Как видно на картинке выше, запрос № 2 отправит только новый путь, так как другие значения точно такие же как и были. И да, это значительно сокращает размер полезной нагрузки и, в свою очередь, еще больше повышает производительность HTTP/2. Что такое Protocol Buffer (Protobuf)? Protobuf — это наиболее часто используемый IDL для gRPC. Здесь вы храните свои данные и функциональные контракты в виде так называемого прото-файла. По сути это протокол сериализации данных, такой как JSON или XML. Выглядит это так: message Person { required string name = 1; required int32 id = 2; optional string email = 3; } Так мы определили сообщение Person с полями name, id и email Поскольку это форма контракта то и клиент, и сервер должны иметь один и тот же прото-файл. Файл proto действует как промежуточный контракт для клиента, чтобы вызвать любые доступные функции с сервера. Protobuf также имеет собственные механизмы, в отличие от обычного REST API, который просто отправляет строки JSON в виде байтов. Эти механизмы позволяют значительно уменьшить полезную нагрузку и повысить производительность. Что еще может предложить gRPC? Метаданные Вместо обычного заголовка HTTP-запроса в gRPC есть то, что называется метаданными (Metadata). Метаданные — это тип данных «ключ-значение», которые можно установить как на стороне клиента, так и на стороне сервера. Заголовок может быть назначен со стороны клиента, в то время как серверы могут назначать заголовок и трейлеры, если они оба представлены в виде метаданных. Потоковая передача Потоковая передача (Streaming) — это одна из основных концепций gRPC, когда в одном запросе может выполняться несколько действий. Это стало возможным благодаря упомянутой ранее возможности мультиплексирования HTTP/2. Существует несколько видов потоковой передачи: Server Streaming RPC: когда клиент отправляет один запрос, а сервер может отправить несколько ответов. Например, когда клиент отправляет запрос на домашнюю страницу со списком из нескольких элементов, сервер может отправлять ответы по отдельности, позволяя клиенту использовать отложенную загрузку. Client Streaming RPC: когда клиент отправляет несколько запросов, а сервер отправляет обратно только один ответ. Например, zip/chunk, загруженный клиентом. Bidirectional Streaming RPC: клиент и сервер одновременно отправляют сообщения друг другу, не дожидаясь ответа. Перехватчики gRPC поддерживает использование перехватчиков для своего запроса/ответа. Они перехватывают сообщения и позволяют вам изменять их. Это звучит знакомо? Если вы работали с HTTP-процессами в REST API, перехватчики очень похожи на middleware (оно же промежуточное ПО). Библиотеки gRPC обычно поддерживают перехватчики и обеспечивают простую реализацию. Перехватчики обычно используются для: Изменения запроса/ответа перед передачей. Это можно использовать для предоставления обязательной информации перед отправкой на клиент/сервер. Позволяет вам манипулировать каждым вызовом функции, например, добавлять дополнительные логи для отслеживания времени отклика. Балансировки нагрузки Если вы еще не знакомы с балансировкой нагрузки, это механизм, который позволяет распределять клиентские запросы по нескольким серверам. Но балансировка нагрузки обычно делается на уровне прокси (например, nginx). Так причем это здесь? Дело в том, что gRPC поддерживает метод балансировки нагрузки клиентом. Он уже реализован в библиотеке Golang и может быть легко использован. Хотя это может показаться какой-то магией, это не так. Там есть что-то типа преобразователя DNS для получения списка IP-адресов и алгоритм балансировки нагрузки под капотом. Отмена вызова Клиенты gRPC могут отменить вызов gRPC, когда им больше не нужен ответ. Однако откат на стороне сервера невозможен. Эта функция особенно полезна для потоковой передачи на стороне сервера, когда может поступать несколько запросов к серверу. Библиотека gRPC оснащена шаблоном метода наблюдателя, чтобы узнать, отменен ли запрос, и позволить ей отменить несколько соответствующих запросов одновременно.
img
Proxy-server - это программное обеспечение, которое устанавливается на определенной рабочей машине и позволяет обращаться некоторым компьютерам к другим компьютерам от своего имени. Если же говорить простыми словами, пользователю даются полномочия использовать возможности другого лица. Proxy-сервер является посредником между пользователями и сетью интернет, так же как и VPN-сервисы, прокси изменяет ваш сетевой адрес. Приведем пример с отдыхом за пределами вашей страны. Допустим, вам требуется посмотреть прямую трансляцию той или иной передачи, но на трансляцию наложено ограничение на просмотр. Используя прокси-сервер вы можете сымитировать российский IP-адрес, тогда уже вы получите доступ к защищенной трансляции. Нужно понимать, что прокси-сервер просто маскирует ваш IP-адрес, но никак не шифрует его, то есть, все данные, которые вы отправляете не являются анонимными. Security Web Gateway (Шлюзы информационной безопасности) SWG (Security Web Gateway) - является аппаратной и программной системой, которая выполняет безопасный вход в интернет, а также безопасно использовать некоторые веб-приложения. Сотрудники компаний могут являться самой основной причиной успешных атак на ресурсы компании, если быть точнее, то использование ими различных ресурсов и передача их в сети интернет. Выделим несколько опасностей, на которые требуется обращать внимание при доступе во внешнюю сеть: Выполнение сетевых атак на ОС сотрудников Атаки на приложения, а также браузеры которые не защищены. Добавление вредоносного ПО. Если вы будете использовать защищенные веб-шлюзы, тогда вы сможете защититься с помощью основных опций: Фильтрация вредоносного кода в интернет трафике. Выявление слива информации. Фильтрация данных. Если вы решили выбрать класс защиты SWG, тогда вам стоит обратить внимание на следующие возможности: Обнаружение вредоносного ПО происходит за счет полного сканирования интернет-трафика. Выполняется сканирование SSL-трафика. Управление полосой пропускания списками пользователей или ресурсов. Поскольку шлюз развертывается на границе внутренней и внешней сети компании, он позволяет защитить все ресурсы организации и нейтрализовать последствия возможных атак. Если на рабочем месте сотрудника отключен антивирус, шлюз может перехватить вирус или заблокировать соединение с вредоносным ресурсом. В настоящее время ассортимент защищенных интернет-шлюзов на российском рынке представлен в основном зарубежными разработчиками. Однако среди отечественных производителей вы также можете найти оборудование, которое включает трафик, контролирует доступ и даже организует IP-телефонию. Описанные выше возможности пересекаются с другим решением по сетевой безопасности, а именно с брандмауэрами следующего поколения (NGFW). Разница заключается в возможностях межсетевого экрана решения NGFW, в то время как Security Web Gateway имеет встроенный прокси-сервер. Поэтому, если брандмауэр уже установлен и настроен в компании, рекомендуется выбрать безопасный интернет-шлюз и наоборот в случае прокси-сервера. Популярные прокси-серверы Ниже приведем список популярных прокси-серверов в настоящее время: NordVPN ExpressVPN CyberGhost PrivateVPN Hotspot Shield Зачем нужно использовать прокси? Если у вас установлен и качественно настроен прокси-сервер, вы можете, среди прочего, отфильтровать подозрительные и нежелательные данные. Например, прокси-сервер HTTP предназначен для блокировки исходящего трафика от троянов, которые каким-то образом незаметно проникли в вашу систему и попытались отправить данные из секретных портов злоумышленнику. Прокси-сервер SMTP предназначен для защиты электронной почты от вредоносных вложений, выполняя анализ входящего трафика, который атакует почтовый сервер и блокирует его. Приведем некоторый пример с программным обеспечением Microsoft Exchange 5.5, в которой достаточно было злоумышленнику отправить неожиданную строчку знаков. Но, всему этому мешает прокси-сервер SMTP Firebox, который ограничивает максимальное значение символов в строке, и за счет этого уменьшил количество атаки такого типа. Было время, когда большинство производителей довольно-таки редко рассказывали об уязвимостях в безопасности. В настоящее время же идет очень много разговоров о различных дырах в безопасности, что защита с использованием Proxy-server становится на первое место. Возможно, многие пользователи больше предпочли бы следить за выходом нового обновления, надеясь на то, что производители устранили дыры в системе безопасности, но увы, не всегда постоянное обновления программных продуктов решают свои прежние проблемы, добавляя еще новых. Где найти Proxy-server? Возможность использовать высококачественные прокси-серверы можно найти в программном обеспечении FireBox. Их можно найти в диспетчере политик: Редактировать - Добавить службу - Прокси-серверы. Когда вы развернете его, вы найдете полный список серверов. Описание каждого Proxy-сервера Ниже обсудим короткое описание самых популярных Proxy-серверов: Proxy-сервер SMTP - выполняет роль защиты электронной почты. К предполагаемым угрозам от злоумышленников возможно выделить: вложения, которые имеют вредоносный код; информация, нарушающая политику безопасности. SMTP допускает возможность выбрать тип доступных вложений, также возможно указать максимальный размер письма, допустимые заголовки, символы и тому подобное. Представленный прокси-сервер по умолчанию всегда включен. Proxy-сервер HTTP - обеспечивает защиту интернет трафика. Большинство Web-серверов используют 80 порт. Представленный прокси обеспечивает защиту интернет трафика, не позволяя злоумышленникам вторгнуться через другой порт. Но также существует множество различных законных продуктов, которые используют другой порт для передачи информации. Поэтому для продуктивной защиты трафика требуется использовать настроенную службу прокси-HTTP. Proxy-сервер FTP - выполняет защиту трафика, который работает через протокол передачи данных. Мы можем выделить приемлемые угрозы с FTP: хакеры пытаются сохранить недопустимые файлы на вашем FTP-сервере, также используют ваш FTP-сервер для незаконных действий, например, они атакуют другой FTP-сервер, и выполнение защиты по передаче файлов на другой адрес пытаясь обойти сетевой брандмауэр. С помощью FTP вы можете заблокировать все угрозы. Proxy-сервер H.323 - выполняет защиту протокола, который используется в мультимедийных приборах. Представленный прокси-сервер чаще всего используется в программных продуктах, как NetMeeting, CU-SeeMe, веб-камерах и прочее. Данный протокол чаще открывает порты с высоким номером, но открывается их минимальное число, к примеру когда идет видеосвязь, по окончанию закрывает их. Прокси-сервер также выполняет защиту трафика, каковой пытается подключиться при работе.
img
С чего начинается Linux? LPI (Linux Professional Institute) считает, что изучение необходимо начинать с темы "Обнаружение и настройка комплектующих". Это работа с "железом", это работа с комплектующими вся аппаратная часть, то что мы видим и настраиваем. На сайте LPI (www.lpi.org) мы можем найти, что должен знать обучающийся Linux. Включение и отключение встроенного "железа" Настройка системы с помощью или без помощи внешних устройств. Разница между устройствами хранения информации Разница между устройствами, поддерживающими "Горячую замену" Выделение аппаратных ресурсов для устройств Инструменты и утилиты для просмотра списка оборудования Инструменты и утилиты для работы с USB Разбор понятий sysfs, udev, dbus. Далее. Возьмем для простоты Ubuntu 20.04 Директория /sys Содержится вся информация об подключенных устройствах. В данную директорию монтируется файловая система sysfs. В данной директории есть определенных набор основных папок: devices/ - все устройства ядра bus/ - перечень шин drivers/ - каталог драйверов block/ - каталог блочных устройств class/ - группировка устройств по классам. Навигацию по папкам осуществляем с помощью команды cd. Учитывая вложенность папок переход на уровень вверх, т.е в родительскую папку используем cd .. , где двоеточие обозначает родительский каталог. А также переход в любую папку, например, cd /sys/bus. Следующий момент, если мы зайдем в папку с устройствами, то мы можем увидеть, как ОС наша видит устройства. Неудобно. Чтобы удобно было работать с устройствами, используется udev. Он позволяет ОС предоставлять устройства в удобно используемом виде, чтобы было понятно нам. Далее папка /proc - Она находится в корне нашей ОС и содержит информацию о всех запущенных процессах. Она создается в оперативной памяти при загрузке ПК. Количество фалов зависит от конфигурации данной системы. Для работы с файлами необходимы права суперпользователя. Внесённые изменения сохраняются только до конца сеанса. В данную папку монтируется виртуальная система procfs. В ней находится информация о состоянии ядра и вообще операционной системе в целом. Вот так выглядит данная папка. Мы можем посмотреть всю информацию, которая нам известна о процессоре. Данная информация содержится в файле cpuinfo. Для вывода информации, содержащейся в файле, используем команду cat имя_файла. Результат работы команды cat cpuinfo. Есть еще интересный файл mounts. Он показывает все смонтированные файловые системы. Результат вывода будет примерно такой. Можно увидеть, когда мы просматриваем содержимое каталога командой ls , то файлы подсвечиваются белым цветом, а каталоги синим. Переходим немного глубже по дереву каталогов файловой системы cd /prox/sys в данной папке все о настройках и процессах, происходящих с нашей текущей файловой системой. В данной директории есть несколько подпапок. И зайдем в подпапку, относящуюся к файловой системе fs. Посмотрим, например file-max в данном файле информация о том сколько файлов одновременно может открыть пользователь. В последней версии число таких фалов увеличилось. До версии 20.04, число файлов было по умолчанию 204394. Можно изменить число или данные, например, с помощью команды echo 10000000000> file-max Все изменения, которые мы делаем в данной директории они сохраняются только до перезагрузки! Это надо учитывать. Еще одна основная папка в корневой директории папка /dev она в себе содержит интерфейсы работы с драйверами ядра. /dev/sd буква - жесткий диск (в системах на ядре Linux) /dev/sd буква номер раздел диска /dev/sr номер (/dev/scd номер) CD-ROM /dev/eth номер Сетевой интерфейс Ethernet /dev/wlan номер Сетевой интерфейс Wireless /dev/lp номер Принтер /dev/video номер - устройство изображений, камеры, фотоаппараты. /dev/bus/usb/001/номер устройство номер на шине USB /dev/dsp звуковой вывод Набор оборудования Команды вывода перечня устройств. Lsmod информация о модуле ядра Lspci - информация об устройствах PCI Lspcmcia - информация об устройствах PCMCIA Lsusb - информация о шине USB Lshw детальная информация о комплектующих. Команда lsmod утилита которая показывает нам модули ядра. Модуль ядра - это объект, который содержит код позволяющий расширить функционал ядра. Вот так выглядит ее вывод. По сути, если проводить аналогию с ОС Windows это драйвера. Вывод команды lshw Данная команда сканирует все устройства и выводит подробную информацию по ним и достаточно детально. Утилиты для работы с модулем ядра или утилиты управления моделями ядра. Lsmod информация о модулях ядра Modinfo - информация о конкретном модуле Rmmod - удаление модуля ядра Insmod установка модуля ядра Modprobe деликатное удаление или добавление модуля ядра Фактически эти команды используются для добавления и удаления "драйверов" устройств в linux системе. В большинстве случаев ОС самостоятельно подключит устройство, но бывает такое, что устройство не стандартное и требуется добавить модель, для того чтобы ядро ОС, корректно работало с данным устройством. Rmmod и insmod - команды грубые и не умеют работать с зависимостями, поэтому необходимо использовать Modprobe с различными ключами. Взаимодействие с CPU, основные понятия IRQ - механизм прерываний IO адреса обмен информацией между устройствами и CPU DMA обращение к ОЗУ минуя CPU Выделение ресурсов. IRQ - механизм прерываний это система которая сообщает центральному процессору о наступлении какого либо события, на которое процессор должен отреагировать. Есть определенные адреса прерываний, их можно увидеть в биосе ПК. Есть стандартные номера прерываний. Ранее была необходимость при конфликте устройств назначать в ручном режиме данные прерывания, в настоящее время с появлением технологии Plug and Play, данная потребность исчезла. IO адреса это область памяти в которой процессор считывает информацию об устройствах и туда же ее записывает. Это выделенный диапазон. Вообще она бывает в памяти и адресация по портам. DMA- технология появилась относительно недавно и позволяет устройствам обращаться к памяти минуя процессор. Существенно повышает быстродействие. Все технологии настраиваются автоматически. Устройства хранения PATA параллельный интерфейс SATA - последовательный интерфейс SCSI - стандарт передачи данных SAS замена SCSI Современные SATA, SAS нужно понимать есть устройства, поддерживающие горячую замену и устройства, не поддерживающие горячую замену. Устройства, которые можно выдернуть из ПК, безболезненно, и это не обрушит систему, причем ОС не подвиснет, не перезагрузится, это устройства поддерживающие горячую замену, например, USB. Устройство, которое не поддерживает горячую замену, например, оперативная память. Если мы ее выдернем из материнской платы, ОС однозначно обрушится. Команда blkid показывает какие устройства у нас смонтированы. Нужно отметить, что у каждого устройства есть уникальный UUID, что udev умеет читать UUID, и он монтирует в понятном виде нам.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59