привет это канал лисин и и сегодня мы слушаем статью что такое gr5 объяснение буферов протокола потоковой передачи и архитектуры сайты девган точка ру от автора лак гном спасибо автору за статью ссылка на нее конечно будет в описании к видео джер писи это мощный фреймворк для работы с удаленными вызовем процедур записи позволяет писать код как если бы он был запущен на локальном компьютере даже если он может выполняться на другом компьютере в этой статье автор собирается поделиться некоторыми из своих больших открытий использования gr5 обратите внимание что в данной статье автор больше хочет сосредоточиться на концепциях чем на
деталях реализации вы узнаете основную архитектуру самого джер писи и также вы узнаете почему джефф писи так широко использовать разработчиками как это работает так хорошо и как все это работает под капотом вернёмся немного назад прежде чем мы перейдем к живописи мы должны взглянуть на то что такое удаленный вызов процедур рпц это форма взаимодействия клиент-сервер в которой используется вызов функции они обычные типе вызов он использует и гель язык определения интерфейса как форму контракта на вызываемые функции на тип данных достаточно лаконичное описание как работает рпц и вообще что это такое я нашел в другой статье на индекс джини
от пользователя нюансы со программе клиент вызывает удаленную процедуру сериале зуют параметры и дополнительную информацию в сообщении и отправляет это сообщение на сервер очень сообщение сервер здесь реализуют его содержимое выполняет запрошенную операцию и отправляет результат обратно клиенту стаб серверы и стаб клиента берут на себя оси реализацию и диси реализацию параметров если вы все еще этого не осознали рпц и в gr5 означает удаленный вызов процедуры и доджер писи действительно копирует этот архитектурный стиль взаимодействия клиент-сервер с помощью вызовов функций так что уже рпц технически не новая концепция скорее он был заимствован из этой старой техники и усовершенствован что
сделало его очень популярным всего за пять лет так обзор джер писи 2015 году google открыла исходный код своего проекта который в конечном итоге получил нас они gr5 но что на самом деле означает джинджер писи google меняет значение буква g для каждой версии до такой степени что они даже сделали ридми чтобы перечислить все значения с момента появления герпесе он приобрел довольная большую популярность и и многие компании его используют что же делает жир писи таким популярным первое это абстракция это просто это вызов функции второе поддерживается на многих языках третье это очень эффективно и 4 http вызову часто
сбивают с толку поэтому это упрощает и помимо всех перечисленных причин герпесе популярен потому что очень популярной микро сервиса микро сервисы часто запускают несколько сервисов на разных языках программирования у них также часто бывает много сервисов для обслуживания взаимодействий именно здесь gr5 помогает больше всего предоставляя поддержку и возможности для решения типичных проблем возникающих в таких ситуациях герпесе очень популярен в сервисе для сервисных вызовов поскольку часто ищите пи вызову труднее понять первого взгляда обдумывать функции джипси гораздо проще поэтому разработчикам не нужно беспокоиться о написании большого количества документацией потому что сам код должен все объяснять некоторые службы также могут
быть написаны на разных языках и герпесе поставляется с несколькими библиотеками для поддержки этого производительность эта вишенка на вершине и это большая изюминка теперь давайте обсудим архитектуру джер писи мы уже несколько раз вспоминали что производительность живописи очень хорошо но вы можете задаться вопросом что же делает его таким хорошим что делать записи намного лучше чем рпц когда их дизайн очень похож вот несколько ключевых отличий которые делают живописи таким производительным есть теперь два https нами давно сейчас почти все серверные службы использует этот протокол как видно из рисунка на экране http 1.1 долгое время оставался актуальным затем в 2015
году появился ищите 52 который по сути заменил http 1.1 как самый популярный транспортный протокол в интернете если вы помните что 2015 год был годом выхода gr5 это было отнюдь не совпадение эти типы 2 был также создан google для использования записи в своей архитектуре http 2 одна из главных причин по которой джер писем может работать так хорошо и в следующем разделе мы увидим почему мультиплексирование запроса и ответа в традиционном протоколе степени возможно отправить несколько запросов или получить несколько ответов вместе в одном соединений на каждого из них необходимо будет создать новое соединение этот вид мультиплексирование запроса ответа
стал возможным вычтите пе-2 с введением нового уровня ищите пе-2 называемого двоичным кадрирования этот двоичный уровень инкапсулирует и кодирует данные на этом уровне ищите пи запрос и ответ разбиваются на кадры кадра заголовков содержит типичную информацию заголовка и http кадры данных содержит полезную нагрузку используя этот механизм можно получать данные из нескольких запросов в одном соединение это позволяет получать полезные данные из нескольких запросов с одним и тем же заголовком таким образом идентифицируя его как один запрос сжать а заголовка возможно вы сталкивались со многими случаями когда заголовки ищите ты даже больше чем полезная нагрузка и ищите пе-2 имеет очень
интересную стратегию под названием и чпк чтобы справиться с этим во первых все вышли типе 2 кодируется перед отправкой включая заголовки это действительно помогает с производительностью но не самое главное выжать из заголовков http 2 отображает заголовок как на стороне клиента так и на стороне сервера исходя из этого ищите пе-2 может узнать содержит ли заголовок то же значение и отправляет значение заголовка только если она отличается от предыдущего заголовка комедоны рисунки на экране запрос 2 отправляет только путь поскольку другие значения точно такие же еда это значительно сокращает размер полезной нагрузки и в свою очередь еще больше улучшает производительность
ищите пе-2 буфер протокола он же про табов про табов это наиболее часто используемый и гель то есть язык определение интерфейса для герпесе здесь вы в основном храните свои данные и функциональные контракты виде про то файла поскольку эта форма контракта и клиент и сервер должны иметь один и тот же просто файл файл про то действует посреднические контракт для клиенты для вызова любых доступных функций сервера про табов также владеет механизмами в отличие от обычного rest api который просто отправляет стройке джейсон виде байт эти механизмы позволяют значительно уменьшить полезную нагрузку и повышать производительность метод кодирования которые используют про
табов довольно сложен если вы хотите глубже понять как это работает ознакомьтесь с инструкцией которую я оставлю в описании к видео что еще предлагает герпесе теперь вы должны иметь базу представлений об архитектуре джер писи и о том как он работает и на что способен но вот еще несколько интересных вещей которые предлагает нам же рпц метаданные вместо использования обычного заголовка ищите без запроса в живописи есть нечто называемые метаданными метаданные это тип данных ключ назначения которые могут быть установлены на стороне клиента или сервера кадры могут быть назначены на стороне клиента в то время как серверы могут назначать хедер
& trailers при условии что они оба находятся в форме метаданных потоковой передачей потоковая передача это одна из основных концепций живописи при которой в одном запросе может выполняться несколько вещей это стало возможным благодаря возможности мультиплексирования и тп-2 которым мы уже говорили есть несколько видов стриминга 1 опись и потоковой передачи сервера когда клиент отправляет один запрос а сервер может отправить обратно несколько ответов например когда клиент отправляет запрос на домашнюю страницу со списком из нескольких элементов сервер может отправлять ответы отдельно что позволяет клиенту использовать отложенную загрузку второе это клиентский streaming рпц когда клиент отправляет несколько запросов по сервер
отправляет только один ответ например zip чанг загружены клиентам третье это двунаправленный потоковые рпц когда клиент и сервер отправляют сообщения друг другу одновременно не дожидаясь ответа перехватчики герпесе поддерживает использование перехватчиков для своего запроса и ответа перехватчики ну перехватывают сообщение позволяют изменять их звучит немного знакомо до если вы играли сочтите пи процессами в растопи перехватчики очень похожи на промежуточное по библиотеке джер писи обычно поддерживают перехватчики и позволяют легко реализм вать перехватчики обычно используются для следующих вещей изменение запроса ответа перед передачей например его можно использовать для предоставления обязательной информации перед отправкой на клиент-сервер прикольчики обычно используются для таких
вещей например изменения запросы или ответа перед передачей его можно использовать для предоставления обязательной информации перед отправкой на клиент или сервер и второе это перехватчики позволяет вам управлять каждым вызовом функции например добавлять дополнительной записи для отслеживания времени отклика балансировка нагрузки если вы еще не знакомы с балансировкой нагрузки это механизм который позволяет распределять клиентские запросы по нескольким серверам но балансировка нагрузки обычно выполняется на уровне прокси например яндекс так почему мы об этом говорим здесь оказывается и gr5 поддерживает метод балансировки нагрузки клиентам он уже реализован библиотеки galant и может быть легко использован хотя это может показаться какой-то безумной
магии на самом деле это не так есть какой-то dns преобразователь для получения списка ip-адресов и алгоритма балансировки нагрузки под капотом отмена вызова клиенты джер писи могут отменить вызов герпесе когда ему больше не нужно ответ однако откат на стороне сервера невозможен эта функция особенно полезна для потоковой передачи на стороне сервера когда могут поступать несколько запросов к серверу библиотека джерси оснащена шаблона метода наблюдателя чтобы знать отменен ли запрос и позволяет ему отменить сразу несколько соответствующих запросов ну а на этом все спасибо что послушали данную статью надеюсь вам как мне было интересно спасибо пользователи гном которую написал эту
статью на сайте bfm.ru и ссылка на статью конечно будет в описании к видео отдельное спасибо александру без палка пользователю который предложил нам прочитать статью про рпц джер писи и вы пишите в комментариях если вы хотите послушать статины какие-то интересные вам темы и конкретные можете скидывать статьи мы их прочитаем если зачем что они действительно классные если вам понравилось видео ставьте лайк и подписывайтесь на канал чтобы поддержать его будет очень приятным и будем еще больше статей записывать и будем вместе обучаться но все пока