Михаил Непряхин: Всем. Привет сирен немножко задержали как видно слышно плюски поставьте пожалуйста,
Михаил Непряхин: так Окей хорошо так на сегодня сегодня говорим про джерписи так чтобы говорить про джерписи
Михаил Непряхин: нужно немного понимать отличие протоколов значит У нас Частная девушка Прессуем
Михаил Непряхин: так ну в общем-то У нас две Альтернативы да Мы либо по ресту работаем
Михаил Непряхин: и в Расте У нас протокол хтп один один актуальный в скиповаев это возможность
Михаил Непряхин: Не делать каждый Раз рукопожатие это возможность Эммм переиспользовать Соединение
Михаил Непряхин: и значит Джерси про который мы сегодня говорим
Михаил Непряхин: в Джерси Используется протокол Хтп два и вот немножко.
Михаил Непряхин: К нужно в Принципе
Михаил Непряхин: в истории погрузиться этих Протоколов вот У Меня Есть небольшая презентация Так чтобы ну кто Знает как-то освежить в памяти кто совсем. Не Знает но Тем более вот уже
Михаил Непряхин: неплохо
Михаил Непряхин: Так Так смотрите значит в девяносто первом году появился Хдп ноль Девять был сегодня метод гет
Михаил Непряхин: и Не было заголовков Не было когда в состоянии То есть Это максимально примитивный протокол Пин Так и
Михаил Непряхин: вот и значит появились хотя эта версия стала один ноль Появились методы гет постхед
Михаил Непряхин: а и Появились Заголовки и статус коды так как мы их знаем То есть вот у нас Есть Двухсотые Если, все у Трехсотые директы четырехсотки какие То
Михаил Непряхин: ошибки валидации Ну, или ошибки логики и пятисотки Это грубо говоря паники как ресепшены когда У нас незапланированное Поведение
Михаил Непряхин: дальше важная штука появилась в протоколе один ноль это хэндшейки то есть перед установкой соединения клиент отправлял на сервер запрос
Михаил Непряхин: и получалось Так что и каждый Раз, каждое обращение оно
Михаил Непряхин: а требовала, вот Это рукопожатие То есть клиенты обращаются сервер отвечает. Клиент подтверждает что все ок и дальше только Начинается запрос и уже сервер отвечает.
Михаил Непряхин: И это каждый Раз, То есть минус в том что, на
Михаил Непряхин: прийти рукопожатие вот эта, вот эта, часть называется хен шейк рукопожатия
Михаил Непряхин: вот и в общем-то логично что, следующая идея была убрать эти Хендшейки
Михаил Непряхин: Ну да вот Раньше, я каждый Раз
Михаил Непряхин: значит дальше Появляется девяносто Пятый, Год Появляется протокол один один где есть значит типа это возможность Переиспользовать соединение, и
Михаил Непряхин: что У нас как Бы соединение, хоть и Не Постоянное То есть вот как Бы Нет в реальном Времени
Михаил Непряхин: и Или
Михаил Непряхин: Вот ну как бы вроде, бы коннекшн непостоянный Но уже что-то похожее на ну Вот как бы ближе к Постоянному, коннекшну
Михаил Непряхин: и и
Михаил Непряхин: А значит в Две тысячи пятнадцатом году ну это все Форсировало гугл, поняв что джорджеси технология родившаяся в угле
Михаил Непряхин: и тоже соответственно форсирова же гугл, это Уже не текстовый протокол, а бинарный протокол, то есть там Реально на низком уровне гоняются не текстовые данные а байты
Михаил Непряхин: и они разбиты на фрейд а значит выглядит это так по ломам
Михаил Непряхин: в общем смотрите если у нас какое-то тп один мы каждый Раз за головки отправляем То хотя бы два вот эти фреймы Мы отправили один Раз за Головки и потом эти Дата фреймы можем насколько угодно дальше посылать То Есть короче экономия на заголовках получается
Михаил Непряхин: м ну вот тоже что-то такое
Михаил Непряхин: Так Появилось мультипликсирование это когда в рамках одного. Коннекшина Мы Можем загружать
Михаил Непряхин: а разные данные то есть не то что Мы Там начали. Загружать
Михаил Непряхин: какую-нибудь Учти мою страницу файл на этот главный основной и и
Михаил Непряхин: пошла и это все синхронно так вот хотя и про два идея в том что это все синхронно может поучаться то есть оно вот появляется дополнительный уровень
Михаил Непряхин: ну и ну грубо, грязь какую нибудь маленькую форму быстрее придет так же по приоритету
Михаил Непряхин: вот и это все как бы получается работает параллельно Да еще на бинарном Протоколе
Михаил Непряхин: также появилась Возможность сделать Сервис Пуш Сервер Пуш То есть если
Михаил Непряхин: ну Как Бы Мы Не Можем Сервера что-то послать просто Так
Михаил Непряхин: ээ Мы Только отвечаем на запрос Вот вывод! Клиента Рекрест Мы ответили? Был Реквист Мы ответили?
Михаил Непряхин: То и типа делать пуш
Михаил Непряхин: ну и плюс Как бы это можно делать тренинговые данные посылать То есть Двухсторонние, стрельбы можно сделать то есть Как бы возможности, Появились более
Михаил Непряхин: удобной потоковой передачи информации понятное дело Что это все равно происходит Через протокол. Типи то есть это ну относительно медленный протокол. Относительно Йодипи Но зато надежный за границей Доставки
Михаил Непряхин: Так ну появилась возможность Сжимать Заголовки Но это к ей Не Так интересно
Михаил Непряхин: Так и прохо дтп-три просто Так на всякий Случай для Общего Развития Что Вот значит Куда идет, развитие дальше протокола значит опять же форсировалось все гугом появился хоть, ип три куик это ну это вообще свежак я Не знаю если
Михаил Непряхин: а хотя это два это какой-то там пятнадцатый год То вот Этот крик Это вообще Ну, типа наверное Не помню Войти в свою
Михаил Непряхин: ууу
Михаил Непряхин: на второй Год А стандартизирован Ну, короче где девятнадцатый, двадцатый Год вот это он начал появляться
Михаил Непряхин: и короче здесь ключевая идея в том что мы Используем
Михаил Непряхин: Не Типи в качестве транспорта, А Юди-пи мы только Внезапно короче Берем и Юзаем ну Казалось. Бы У нас Использовалась. До Этого Только в передаче каких-то Ненадежных. Данных ну или которая как Бы ну типа видеопоток и
Михаил Непряхин: Если у нас там. Какие-то Пакеты Пропали ну ничего страшного будут какие-то помехи и Видимо но в Принципе зато видимо загружаться, быстро
Михаил Непряхин: вот а Так как из Степи протоколы Уже выжили все что можно то и
Михаил Непряхин: вот Идея Х Дтп три Мы юзем Юдипи в качестве транспортного слоя соответственно Там все работает сильно быстрее
Михаил Непряхин: и если Вдруг У нас Происходят
Михаил Непряхин: ну короче говоря Мы реализовали Типи протокол.
Михаил Непряхин: А Но только чуть более верхнеуровнева
Михаил Непряхин: как бы транспортный свой получился идипичный ну вот эти там подтверждения они тоже на юди получаются и короче все это работает м быстрее
Михаил Непряхин: Им бам бам к Вам как пожатие
Михаил Непряхин: Аа здесь я не знаю чего сказать
Михаил Непряхин: не знаю о чем тут рассказывать так и
Михаил Непряхин: еще короче фишка, особенность что в этом хоть и Дп три Мы имеем свой айдихник
Михаил Непряхин: То есть Мы до этого в Дтп один их этот продва привязывались, к и и понимали вот если нам. Приходится этого же пиара если Мы такиенем ага это тот самый который нам. До этого Прислал типа вот Мы Храним его
Михаил Непряхин: и У себя и Там типа лайф Он имеет. Там какой-то тайм-аут и вот Мы можем проверить прозрачно он или Нет
Михаил Непряхин: в хотя Тп три используя свой атехник и благодаря. Этому
Михаил Непряхин: повышается стабильность работы между разными и
Михаил Непряхин: ну. Как бы это так просто чтобы примерно если вы не знали про что такое бывает и как будто бы этот Раз, развитие идет, в ту сторону
Михаил Непряхин: но по большому счету Мы в большинстве своем
Михаил Непряхин: работам с крестом этого девяносто девятого года
Михаил Непряхин: и как бы ну Там все нормально и в случае и
Михаил Непряхин: пришло нам какой то код мы вынуждены использовать Дополнительные инструменты для декодирования вот этих данных и и
Михаил Непряхин: так здесь если Вопросы, какие То Есть Если. Что То непонятно То самое время задать
Михаил Непряхин: Так вам Если. Вопросов Нет идем дальше и Так значит Мы Ммм
Михаил Непряхин: было бы подработкой Ходить По два а
Михаил Непряхин: смотрите Мы Вот когда Мы сервак поднимаем
Михаил Непряхин: Вот когда Мы сермак поднимаем Вот этот Вот наш Ну и
Михаил Непряхин: шант Идем вот когда этот серый Мы понимаем вот он Поднимается с Хтп один и он работает
Михаил Непряхин: э ну, вот дефолт это Тп один
Михаил Непряхин: для Хэттап два есть, пакет отдельный Анголэнд Хтп два
Михаил Непряхин: так вот он значит вот этот Пакет
Михаил Непряхин: и есть, тут экзам про какой нибудь
Михаил Непряхин: он как бы давно уже есть
Михаил Непряхин: а си баба, Нет какой то бы Илиземпо
Михаил Непряхин: значит во Первых приработит, хотя ты по Два нужен вот шесть лет назад нужен а и
Михаил Непряхин: этот телос потому что он подразумевает что Вы работаете с темесом ну вот есть варианты видимо как, это обойти как, это Можно отключить
Михаил Непряхин: и Но
Михаил Непряхин: аа Я ни разу Не Видел. Чтобы кто то У себя ну вот как бы внутрисервиса Поднимал в это ход ип два
Михаил Непряхин: однако клиент Наш он как Раз, таки работает универсально исходный и
Михаил Непряхин: вопрос есть ли там автоматическая ну как Будто Нет как будто Нет
Михаил Непряхин: как будто ну, вот видите вот что поддерживают тогда они пишут ну, х дтп нургалиев дп один один
Михаил Непряхин: и дтп два но Только поверьте овс знаете То Есть и
Михаил Непряхин: Ну как Будто можно и
Михаил Непряхин: Можно как Будто и без Тебя Это поднять вот но я Видел, только вот с стеосом и обычно это использоваться
Михаил Непряхин: Ну. Какие-то просто берут Экзамены особо Там Ничего Не исправляют короче какие-то готовые варианты вот А инкрипт это и п два вот Ну короче он когда вы Куда то делаете запрос на какой-то сервер вот чем, задает этот клиент Ну стандартный наш клиент
Михаил Непряхин: он короче сам понимает можно ли и
Михаил Непряхин: вот Поэтому так вот какого-то большого Опыта Исходить т п два кроме как с джерарписи У Меня нету
Михаил Непряхин: так Что такое джеррписи если копнуть немножко. В историю а гол. Появился это У нас две Тысячи
Михаил Непряхин: ну где то Две Тысячи девятый год
Михаил Непряхин: и Идея У роба Пайка была в Том
Михаил Непряхин: Что бы сделать вот этот вот бесшомный арпии запрос
Михаил Непряхин: а По сети к другому сервису ну Так как в Угле много Было сервисов ну и до сих пор большая, проблема обратиться из одного. Сервиса в другой
Михаил Непряхин: и Сейчас Она более-менее решена в то время Она
Михаил Непряхин: М-м была. Решена более костальными методами то Есть ну кроме Арестова Х Дтп один один Был Еще Там Какой То Что Там было и Кстати с эмаэлем Же Работали Да Люди этот соу Был
Михаил Непряхин: Или как. Там Соап короче Уже Давно, не произнес Эти, Слова вот и когда делали Гоу
Михаил Непряхин: то вот Эти, вот Каналы наши про Которые Мы говорили
Михаил Непряхин: Бромя просто канала была Идея сделать Нет Канал нэтчэн
Михаил Непряхин: и они много бились над этим
Михаил Непряхин: чтобы вот как Мы Канал бюро Мы поднимаем и туда чего-то складываем и потом с Другой стороны читаем ну типа м это такой простой способ работать с многопоточкой вот такая Же была идея сделать простой способ работать с сетью и Вот заготовка называлась. Нэт чен
Михаил Непряхин: но они столкнулись с Очень большим количеством Проблем Ну потому Что сеть это вещь нестабильная
Михаил Непряхин: она Обрывается значит Пакеты теряются как то какое то Поведение нужно во всех. Этих ситуациях этим надо как то Управлять на стройке получаются Очень большие.
Михаил Непряхин: Потому что если мы хотим, еще добавлять абстракцию над нашим протоколом ну Нам же надо все эти штуки поддерживать и как будто бы
Михаил Непряхин: поддерживать их проще когда они в нативном виде
Михаил Непряхин: и нуди все тайм-аут Ритрая и так далее и от Этой идеи отказались потому что нормально реализовать не смогли
Михаил Непряхин: но позже и вернулись к Этой идее и сделали такие описи переводится как ремонт
Михаил Непряхин: ремонт процедур кол так, что ли вот Это Пи Это процедура Вроде арапии Это
Михаил Непряхин: ремонт процедур Колда То Есть Это вызов удаленной процедуры ну Или типа
Михаил Непряхин: вызов Удаленной функции То Есть когда у нас
Михаил Непряхин: а Мы работаем с кодом Мы бы Хотели бы к Другому сервису
Михаил Непряхин: обратиться как как Будто бы это просто наша функция ну да она Там по сети идет, ходит ну вот чтобы работать с этим было удобно
Михаил Непряхин: ну на самом деле Мы когда клиент пишем Мы же так и делаем да тут вот смотрите Мы клиент для чего писали вот это вот для того чтобы вот это вот все в коде не писать Ну, это логично да То, есть Мы вот просто обращаемся вот к рейд
Михаил Непряхин: и коротко Ну, вот герд экземпал вот надо нам. Создать Клиента ааа ну вот это Одна строчка и Обработка ошибки да Окей Мы Там заранее написали этот весь Код, Но вот этот наш А-ля арпии да Идея в этом же То есть как бы Мы тут реализовались вот То же самое
Михаил Непряхин: просто Раньше было принято Эти, все кишочки больше вот ну чистой архитектуры Не было в целом как бы
Михаил Непряхин: культура разработки Не была на таком уровне на котором она Сейчас находится и вот эта вот идея Давайте Сделаем и
Михаил Непряхин: ээксэмэль был Популярнее чем Джейсон Такта То есть Джульсон. Он Там ну после десяток начал набирать популярность а до этого правил, балом и к шимель
Михаил Непряхин: и до сих. Пор я как-то писал интеграцию со сбером и там Блин был иксемэль и тоже неплохой парер и
Михаил Непряхин: вот и ну добавили джи добавили джинну потому что гугл да гуговор описей здесь как бы идея в этом
Михаил Непряхин: и и значит Идея такая Что а Мы с помощью о
Михаил Непряхин: Кода генерации Генерим вот это вот ну то есть опять же ведь джереси подход он как бы немножечко опередил Время
Михаил Непряхин: и то что Мы обсуждали что Сейчас и
Михаил Непряхин: и в серверах принято генерить ээ роутер роутеры и ну а спекший у вас да подход спекст
Михаил Непряхин: потому Что как бы в Принципе ну он до Сих. Пор еще
Михаил Непряхин: Не набрал такую популярность прямо скажем. Кот Фест все равно пока еще популярнее когда Мы Сперва пишем Кот а Потом Уже Там Спеку дописываем Поживание
Михаил Непряхин: То в джерси это Была Идея изначально что мы должны Все генерить что мы ко отцами Не пишем мы просто. Должны Нажать Кнопку
Михаил Непряхин: эти Все ну вот то что мы писали руками ээ как вот
Михаил Непряхин: для листа клеит профай этим много довольно Всегда, вот и мы это генерим ну вот как мы видели подход. До этого Что мы это сгенерили и Получилось уже кодом
Михаил Непряхин: меньше
Михаил Непряхин: эта идея она изначально была в джерси и это просто как бы перенесли идею вот сюда вот на арест подход и Сейчас Если Мы делаем генерацию и
Михаил Непряхин: и оно в Принципе все очень близко и
Михаил Непряхин: как бы это должно быть очень большие объемы и Ну какой-то Конкретный случай а так в Принципе как бы Эти Протоколы они плюс-минус равнозначны ну ведь, под капотом ты сомневаешься
Михаил Непряхин: физику Не обманешьского рассвета то есть как бы теспи Пакеты в этот Раз, они подтверждались подтверждениями, они по природе своей медленны
Михаил Непряхин: вот если, бы вот в джерси их это ип три завезли это было бы интереснее но хотя бы патриоты как бы так
Михаил Непряхин: непонятно ну вот я так понимаю что Сейчас браузера когда Мы в браузе Делаем запрос вот этот патон работает по этому дтп три вот Сейчас я как бы несмотря на общаюсь
Михаил Непряхин: и и а почему тогда Не, использовали но веб-сокет он
Михаил Непряхин: во-первых я так понимаю здесь проблема в том что придумана он не углом
Михаил Непряхин: и Поэтому к углу обязательно надо было придумать свой собственный протокол. Дтп два
Михаил Непряхин: и придумать Но Я думаю Что обычно в больших корпорациях Типа моих концов гугла эпу они и
Михаил Непряхин: не удивлюсь Что Высокие, ты тоже подошли бы, на Эту Роль но вот Не пошло Не Сложилось и выпсоки ты используется редко но обычно Это что-то для
Михаил Непряхин: фронта и
Михаил Непряхин: э пару Раз видео использовали и то как бы я там сам не разрабатывал но только видел, что использовали ну как бы не так сложно с ними работать
Михаил Непряхин: но они не очень распространены ну вот у моего есть доклад как они миллионы б сокетов на кошке держали
Михаил Непряхин: постоянный коннекшн короче вот да про Джерписи им, а Джерписи
Михаил Непряхин: он конечно Же Внутри может Использовать
Михаил Непряхин: и Джейсон то есть как, Бы ведь это Арпии да то есть этот транспортный слой это как бы речь, про То что Мы Хотим, сделать запрос какой то
Михаил Непряхин: но Джейсон Там никогда не используется а использоваться свой собственный а и как сказать формат протобаф
Михаил Непряхин: и от протобав он ну когда только появился протобав он прямо и
Михаил Непряхин: аа протобав ну он Тоже по размеру например, он выигрывает потому что он протобав поменьше чем для сон места занимает
Михаил Непряхин: Но в целом опять же вот как бы несущественная Разница с тем же листом То Есть вот как Бы если вы думаете? Что выбрать типа вы Хотите, быть Вон модными молодежными Поэтому Возьмем живописи
Михаил Непряхин: ну нет смысла То Есть как бы Это обычно Спускается сверху вот и сверху вам сказали Едудить живописей ну тогда вариантов нет если вам не сказали юзарест и не партияс потому что с джерарпией очень много подводных камней
Михаил Непряхин: ну как бы там надо много с ним Поработать да чтобы вот как сказать и
Михаил Непряхин: так вот значит надо поговорить про протобав
Михаил Непряхин: и еще Раз поговорим протобав и еще интересная особенность значит что вот эта вот кодегенерация к джерси
Михаил Непряхин: она была сделана на все языки. То есть все языки могут сгенерить из протобафа джерписи сервер и джерси клиент
Михаил Непряхин: и таким образом получается что джерси стал. Гроз платформенным вернее кросс сервисным
Михаил Непряхин: э транспортом для взаимодействия ну собственно как резко дтп то есть как бы точно такая же ситуация, ну из пекфеста он тоже вот копирован вот из-за этого же Подхода что Спеккрест Раз, тоже имея апии у панапием
Михаил Непряхин: мы Можем Он Жецвагер имея Опонапе спек спецификацию или Он уже Фагер мы из Него Можем генерить на любых языках и сервер и клиент
Михаил Непряхин: и то же самое здесь значит имея Протобаф с описанными. Джерси Ручками Мы Можем из него. На любые языки генерить сервер и клиент
Михаил Непряхин: и если в случае реста у нас есть все таки выбор Котфест подход респект фас подход
Михаил Непряхин: То в случае джорджии у нас выбора нет Только Спеквест значит Сперва описывается протобав
Михаил Непряхин: на табафе описываются типы данных которые Мы отправляем получаем и описываются сигнатуры функции.
Михаил Непряхин: И из них уже все остальное генерируется на любые языки
Михаил Непряхин: Так и давайте посмотрим на то как выглядит этот протобав значит
Михаил Непряхин: какие сложности могут быть проработятся, в черписи
Михаил Непряхин: как бы и в теории их никаких нет и как бы все хорошо но на практике
Михаил Непряхин: м когда начинаете писать
Михаил Непряхин: то вы вынуждены ну обречены пройти и наступить на себя нравлю тут не работа Там не работает так как, серо разгировать как, клиент при библиотеке ну Сейчас вот Мы Посмотрим этот путь генерации вы увидите Что
Михаил Непряхин: не так все просто короче
Михаил Непряхин: летом правильно Это на запросе сделать протбаф возле сон Что ли
Михаил Непряхин: забыл. Какой правильный запрос сделать так протабав
Михаил Непряхин: Ммм
Михаил Непряхин: была прям хорошая Картинка объяснять протыбав
Михаил Непряхин: и я забыл. Как ее искать
Михаил Непряхин: Ммм
Михаил Непряхин: так вана шас и и упан Апи и из него все генерим значит шерписи ситуация, Похожая
Михаил Непряхин: Поэтому Мы здесь же в Папку, опять, заводим попутчикписи и Кладем сюда в пеку для генерации джерписи сервера клиента ну называем как-то видите тут профайл вы Один называли потому что может быть его два Поэтому назвали Так и профайл вы Один и
Михаил Непряхин: значит назвали фарролотом а вот как выглядит протофайл
Михаил Непряхин: значит у него. Ну есть тут синтаксис значит что это прото уже третьей версии протоко динамично развивается
Михаил Непряхин: А как называется пэкэдж
Михаил Непряхин: библиотеки вспомогательные их очень-очень много единственный Геморрой что их надо подрубать специальным образом и вот здесь они У меня подрублены через, папку бин инклют и вот пришлось тут просто скачать пачку вот этих файликов
Михаил Непряхин: и Это короче разные Хелперы вот Удобно и
Михаил Непряхин: и Эмти Это короче когда метод
Михаил Непряхин: а возвращает ну либо Ошибку либо ничего ну то есть просто Ошибка
Михаил Непряхин: вот здесь вот У нас значит мы описываем анну гол пекач под названием, пакетом значит вот здесь У нас
Михаил Непряхин: секция где описываются функции с которыми Мы Работаем
Михаил Непряхин: а Вот у нас Есть крейсер профайл. Мы Пишем арпии ключевое слово и это Будет имеется в виду что Вот мы Хотим, делать удаленный вызов к Этой функции
Михаил Непряхин: в скобочках указываются аргументы то есть прямо, как у функции но только в отличие от функции указывается, здесь только структура вот он этот мессадж это типа тайп
Михаил Непряхин: и вот здесь как бы описание аргументов Которое принимает
Михаил Непряхин: наша функция ну, они повторяются то же самое как у нас в кодексе как у из кейсов клеет профайл, принимает вот
Михаил Непряхин: нэйм эйч ди майо и телефон
Михаил Непряхин: единственное здесь отличие в том что? Здесь сперва идет, тип А потом идет, название поля
Михаил Непряхин: и потому что? Изначально в висках типа Там си
Михаил Непряхин: а тип пишется после Названия поля Или переменной
Михаил Непряхин: Почему потому что появилась возможность автовыводить этот тип
Михаил Непряхин: Поэтому так ну здесь для того чтобы джолистам видимо Или при свои Там бы удобнее работать Хороший тип он сперва идет, а потом идет, название
Михаил Непряхин: оля
Михаил Непряхин: и как Видите здесь у нас есть циферки значит циферки почему потому что на низком уровне вот если у нас мы смотрим на Джейсон,
Михаил Непряхин: когда мы смотрим на Джейсон, то у нас
Михаил Непряхин: как бы это текст так Джейсон это текст
Михаил Непряхин: значит жизнь он это текст соответственно вот поле называется нейм ну оно настолько и занимает в памяти
Михаил Непряхин: а один байт ну, вот там четыре байта на четыребайта каждый символ, там пять шесть бай вот эта шесть бай и ну, уже есть байден, это много
Михаил Непряхин: и Поэтому как бы, не очень оптимально как было длясоне запакованы данные авджерписи
Михаил Непряхин: поступили по хитрому и значит мы на уровне контракта говорим что да Окей значит Это поле стринговое
Михаил Непряхин: здесь тоже видно что вот оно
Михаил Непряхин: что на стринговая то есть ведь, Джон дойер он в кавычках а это без Кавычек типа Инт вот Но здесь мало того что Мы стринг, можем отличать Мы еще можем им-то отличать по разрядности то есть мы можем сказать что это им тридцать два
Михаил Непряхин: то есть четыре байдена число можно сказать что это ин шестьдесят четыре восемь бает на число слишком как бы уже тоже есть Разница
Михаил Непряхин: плюс мы один Раз сказали вот что мы говорим, что нэйм это Единичка и дальше Мы Работаем с ней Как с единичкой то Есть Мы Реально когда Отправляем протобафные
Михаил Непряхин: Протобафное сообщение Мы там Не Отправляем Нэйм потому что наем это будет четыре. Байта а мы отправляем единичку
Михаил Непряхин: и соответственно мы на этом и там оно в зависимости
Михаил Непряхин: если и там это большое число ну тут как бы не то чтобы это должно быть очень много полей чтобы число сильно выросло то есть чаще всего это будет один байт, видите или четыре байдена один байт уже типа экономия
Михаил Непряхин: и как, бы, вот это вот такое Большое отличие протабафа от джерси в том что реально подобав
Михаил Непряхин: он Выглядел бы если б мы его хотели представить а вот так вот
Михаил Непряхин: и получается что Не имеет, значения
Михаил Непряхин: насколько длинный имеет Ну насколько длинное У нас название Мы же его Могли бы Назвать как-нибудь вообще Там Длинно да вот Так вот неважно насколько длинно Мы бы его назвали он бы все равно был единичкой вот здесь вот на уровне протокола
Михаил Непряхин: и ну по Сути это как бы основное отличие в и джейсона от протобафа
Михаил Непряхин: что мы экономим на размерах вот этих полей,
Михаил Непряхин: оно не единственное там очень много оптимизаций так Как ну Здесь Мы текстом Храним и текстом Сохраним да Как бы
Михаил Непряхин: про То Мы Храним так Шес мыта Капернем
Михаил Непряхин: а Видите в Протобафе он тоже здесь джудой уже так забыл, ну здесь получается, так
Михаил Непряхин: Чего он тут показывает давайте посмотрим что, он хочет показать
Михаил Непряхин: ну Во-первых доверите что вот получается один-два-три-четыре то есть это реально выглядит уже не декодировано никак протабав но оно на низком уровне еще хранится в бинарном виде То есть на самом деле передается по сети Не тех, кто такой да а Передаются вот такие байты
Михаил Непряхин: и плюс Там еще есть какие-то Хитрые оптимизации. Про которые я уже забыл как они выглядят
Михаил Непряхин: ну Глянул Глянул если Там прямо, важно было То и еще
Михаил Непряхин: еще вернемся и поговорим об этом
Михаил Непряхин: вот прямо кручу не могу найти ту картинку, хорошую ну вот Найду.
Михаил Непряхин: Скинутом.
Konstantin: Или.
Михаил Непряхин: Да.
Konstantin: Он распасся его Там следующий ну Мы понимаем Что вот эта война закончилась начинается следующее поле это как бы означает, Что уже Цифрка Два идет.
Михаил Непряхин: Да ну То Есть грубо говоря Мы Имеем возможность быстрее просить Мы и
Михаил Непряхин: и плюс Мы очень Быстро. Можем делать сдвиги то есть видите как бы когда вот мыджер этот Джейсон. Парсим да мы ему все равно подряд партиям ну мы должны найти это поле и мэю вот нас интересует поли. Эмейл но мы должны для него дойти мы должны это все просканировать
Михаил Непряхин: мы где-то можем и
Михаил Непряхин: ээ компактно упакованный вот эти вот где находится следующий сдвиг и мы очень быстро, Можем бахбабах дойти до до нужного нам, места
Михаил Непряхин: и плюс мы парсим по шаблону да У нас есть вот этот Шаблон
Михаил Непряхин: и мы как, бы можем очень быстро Раз, и сделать код генерацию правильно и очень Быстро спасать
Михаил Непряхин: значит и это очень долгое время оставалось киллер фичей в этот быстрый парсинг именно прото бафа
Михаил Непряхин: на самом деле сейчас появились очень много библиотек которые работают с режиссером с такой же скоростью как протобав работает ну вот как протобав
Михаил Непряхин: и вот это вот преимущество в протабафе ну оно осталось по размеру что все-таки по Компактнее данные упакованы
Михаил Непряхин: и а Кстати еще джордж это Джейсон. Тоже есть возможность из библиотеки и есть возможность где вот прямо хайлот жесткий тоже сделать схему вот эту вот ну схему Сейчас. И Делают, на данные и благодаря схеме вы тоже можете Быстрее и энкодитесь Докудить
Михаил Непряхин: вот в общем хм
Михаил Непряхин: да несмотря ни на что у протобафа есть преимущество чуть-чуть он выстрелит по скорости парсинга Чуть ли Не быстрее По скорости энкодинга в Него из структур и чуть-чуть Он По компактнее По Размеру то есть везде чуть-чуть выигрывает Но это преимущество Не, то чтобы прямо критическое и
Михаил Непряхин: Прям Не, Стоит того чтобы вот Всегда Всегда юзать Живописи
Михаил Непряхин: ну и вот короче говоря тут у меня вот четыре метода и вот на все методы ну Кроме вот этих у них возврат ретранс возвращается ну то есть как бы Там либо ошибка либо ну как бы данных Нет То есть Мы только на Ошибку проверяем в этом случае
Михаил Непряхин: Так значит есть возможность сделать более опциональным
Михаил Непряхин: и допустим на апдейте на Методе апдейт нам нужно чтобы отличать до азербайджана ну как бы число недавно у нас Там проблема была что вот нам надо понять. Где зевелью а где реально этим
Михаил Непряхин: м данные к нам пришли Поэтому Мы тут пользовались звездочкой
Михаил Непряхин: аа ну и проверяли если нил значит ничего поле ничего оно Не пришло если они нил значит поле пришло если оно пустое значит этот пользователь пустое поле. Реально Послал короче вот Это общее оно добавляет Звездочку вот и все То Есть как бы Это с помощью Общего тот же самый способ, сгенерить вот эти звездочки
Михаил Непряхин: и немножко по-другому здесь выглядят с лайсом и Сивой там слово добавляется репитед и
Михаил Непряхин: вот а вот так вот будет Выглядеть. Слайс то есть,
Михаил Непряхин: вот это вот то же самое крот что вот Мы если языки делаем вот так вот
Михаил Непряхин: то есть вальсы. Здесь они репит а потом тип ну и уже название поля
Михаил Непряхин: еще из особенностей смотрите так как мы имеем дело с циферками на уровне протокола да
Михаил Непряхин: то что же будет если вдруг мы скажем захотим порядок полей поменять скажем теперь вот это поле фоно на третье
Михаил Непряхин: а вот это вот и мы его на четвертое
Михаил Непряхин: если мы так сделаем то мы все сломаем потому что данные Которые до этого были записаны в Другом формате они будут неправильно декодированы и
Михаил Непряхин: вот а если еще и типы будут разное оно просто сломается потому что не сможет нормально Это дело декодировать Поэтому если Вы удаляете и
Михаил Непряхин: Мы Добавляем последующей цифрой Но если вдруг нам Не нужно какое-то поле То Мы все равно его Оставляем
Михаил Непряхин: тут Есть какая То Есть Вы как То Там
Михаил Непряхин: и что-то типа Такого тут Есть какой-то синтаксис
Михаил Непряхин: Ну Не резерв прохожий ну короче указать что поле. Было удалено тоже Есть свой синтаксис но Мы все равно следующее поле. Сделаем даже Воз если это поле. Было ударено оно все равно здесь останется а следующее поле Мы начнем со следующей цифры
Михаил Непряхин: и вот и так как здесь свой синтаксис
Михаил Непряхин: То возможностей это очень много там иванов есть, например такой тип динамо есть, понятное дело и
Михаил Непряхин: понятно что ну возможности очень много и это как бы отдельная история знакомства с протобафом но оно практически не имеет. Смысла заранее там изучать эти, возможности потому что грубо говоря когда у вас появляется потребность Вы просто. Ну, Так
Михаил Непряхин: Угуглите как это сделать Ну, Или там Не Расти спрашивайте она просто. Говорит как это делается про табачку то есть
Михаил Непряхин: а все все что вы захотите, сделать вы здесь тоже можете сделать но просто в другом Синтаксисе, и соответственно вот из этого файла генерица и сервер и клиент
Михаил Непряхин: поэтому вот Мы будем. Писать сервер Мы сервер да соответственно Мы генерируем У, себя сервер
Михаил Непряхин: отдаем этот протобав другой команде Она по нему генерирует у себя клиент и соответственно может обращаться к вашему серверу и как бы Что. Удобно с этим работать
Михаил Непряхин: а вот
Михаил Непряхин: командовать Давайте сделаем перерыв небольшой перерыв в две минуткизеем
Михаил Непряхин: так все возвращаемся так Давайте будем генерить значит из этого он про тобафом сервер для того чтобы
Михаил Непряхин: Вот из этого сгенерить Кот нужно аш три бинарника
Михаил Непряхин: а протоси протосигенгуу и протоси генгоу джерси
Михаил Непряхин: зачем Так потому Что. Они это сделали система модульная
Михаил Непряхин: она соответственно имеет кор монуль просто для работы с джерписи
Михаил Непряхин: нет апп то есть это библиотека она тут и вот Это
Михаил Непряхин: потом для работы конкретно с гоу используется с протобафом вот этот бинарник проток генгоу и еще Есть несколько версий от комьюнити официальный.
Михаил Непряхин: Короче кто какой использует и и
Михаил Непряхин: и оставим просто вот так вот то это будет как бы прота для протобафа спека для
Михаил Непряхин: как мы же можем с патабафом работать и по ресту никто не запрещает просто мы привыкли что арест у нас это Джейсон.
Михаил Непряхин: Но мы можем вместо джейсона. Отправлять
Михаил Непряхин: в бинарном виде вот этот вот протобаф
Михаил Непряхин: и вот этот функционал, просто Мы можем описать обычные и
Михаил Непряхин: Инфраструктуры Что Мы хотим? Попротобафу Гонять наверня в протобафе использовать а вот эта секция с и вот она уже вот нужна для генерации, Ручек конкретных и используется уже вот этот вот третий бинарник то есть на родителей нарник
Михаил Непряхин: плюс еще здесь вот Аа вот для этих вот штук дополнительной библиотеки
Михаил Непряхин: Поэтому для того чтобы не усложнять ни устанавливать а там еще у них разные версии и так далее я просто вот прямо,
Михаил Непряхин: папку бин затолкал сюда бинарники ну единственное что они Ленцовые
Михаил Непряхин: вот и Там Если у вас Ээ мак арм То Там придется их свои скачать
Михаил Непряхин: и в майк файли команда тоже Веселая для генерации сервера
Михаил Непряхин: значит смотрите ну во-первых Мы Что Мы тут создаем Папку в которую которую все будем генерить у нас тут принято да Что значит Генералку Мы Храним в Папке Ген Вот Мы их и т п Ведь его сюда Клали и клиент и сервер
Михаил Непряхин: и логично было бы Раз, у нас джорджии тоже генериться положить Папочку рядом
Михаил Непряхин: и соответственно создать профайл и один ну вот Мы его здесь создаем и вот как Раз, таки два файлика и
Михаил Непряхин: строки в протобаче кодируются в литов восемь ааа
Михаил Непряхин: ну да я думаю что он
Михаил Непряхин: но как бы в Конечном итоге. Мы с ними работаем точно стой восемь
Михаил Непряхин: ну Да Да я думаю просто думаете, о них какой-то версии все
Михаил Непряхин: а дальше мы используем вот этот протосим
Михаил Непряхин: и избинарника вот отсюда избина и в него мы передаем параметрами все остальное
Михаил Непряхин: то есть в конечном итоге. Будет все генерить протаси но у него есть вот эти подключаемые значит модули
Михаил Непряхин: Так Что. Мы здесь делаем протп о пиджаписи это мы указываем где у нас спека аспека у нас в апе джерписи вот она
Михаил Непряхин: в этом мы здесь и указываем где спека и и ну вот сюда так гоадпет соурс ремейтив
Михаил Непряхин: эта фигня нужна для того чтобы
Михаил Непряхин: короче Без нее какой То косяк и Без нее он начинает
Михаил Непряхин: Давайте проверим чего Без нее Делать Сейчас Сразу, увидим что там сломают,
Михаил Непряхин: Джерси гену
Михаил Непряхин: вот что он Делает он короче вот такой фильм начинает заниматься Типа
Михаил Непряхин: он всю, весь, мой путь это вот который видимо указан вот здесь вот он его весь, берет
Михаил Непряхин: и вот это вот по слышам ну да вот это все разбирает и вот войдет сюда
Михаил Непряхин: летчик, какая-то фигня неудобна Поэтому Просто добавляется вот эта вот опция
Михаил Непряхин: вот эта опция и она Эту проблему решает оно все становится плоским вот на этом уровне Лежит
Михаил Непряхин: дальше плагин логин прото генго это
Михаил Непряхин: и вот этот вот для просто дикудинга энкодинга прота файла
Михаил Непряхин: и тут. Же. Указываем пиар где он Находится и и
Михаил Непряхин: значит Джеррписи аут гоуджер писиаут Здесь Тоже ничего снимается Здесь дефис Здесь нижнее Подчеркивание
Михаил Непряхин: Здесь Тоже. Ни в Коем Случае тут Не Договорились У нас Мы Тоже. Говорим Куда генерить
Михаил Непряхин: Тоже. Эта же опция и уже то есть люди как бы в Этой части. Они похожи то здесь Мы прота энкодер де кодер генерим а здесь мы генерируем конкретные о джерписи ручки и мы говорим, Что, вот здесь уже использовал вот этот вот
Михаил Непряхин: вот этот третий наш, бинарник и и
Михаил Непряхин: в конечном итоге ада и указываем что возьми из Этой Папки Сейчас и он Вот в Этой папке
Михаил Непряхин: а пить живописи будут искать Вот этот файл, он идет, в конце короче Реально сложный и а и
Михаил Непряхин: и для генерации всего этого Поэтому естественно это никто Никогда Не Запоминает просто один раз кто, То где То напишет
Михаил Непряхин: все друг друга копируют и просто Вот берете и язвите если нужны какие-то дополнительные Опции и тоже их там отдельно гуглите и либо находите и добавляете
Михаил Непряхин: вот ну просто вот оно как-то один Раз, настраивается что оно работает и потом переиспользуется
Михаил Непряхин: дальше смотрите вот Я. Называл Команду джерси и Ген но У, нас вообще есть команда генерийт которая делает гоу генериет и она генерирует ну
Михаил Непряхин: тут Реест сервер Поэтому Удобно вот здесь вот справа добавить вот этот живописиген
Михаил Непряхин: и короче Говоря он Будет Выполняться перед вот Этой командой то Есть сперва выполнится Джорджеси Ген потом Будет вот этот был генериет по проекту Таким образом Мы Не дергаем отдельно генерацию Джерси отдельно листа мы просто дергаем гол генриет оно меейк вернее генерает
Михаил Непряхин: и у нас получается ну просто все генерится если ошибок Нет То оно все сгенерировать
Михаил Непряхин: вот генерация в итоге вот Эти, два файла
Михаил Непряхин: а также глянем на ошибки на Вопросы, Так вот Эти, файлы про то кенгу Можно как остановить какого поэта и туда ну да да то есть как бы так как Было очень много геморра с этим
Михаил Непряхин: то я просто поместил сюда чтобы Оно работало ну. Хотя бы в Линусе ну. В общем-то если. У вас маг просто, эти же самые файлы надо будет скачать
Михаил Непряхин: и сюда положить просто маковские, или Команды Тоже. Будут работать
Михаил Непряхин: если ну как бы Другой вариант когда они находятся пейся и если они в прессе,
Михаил Непряхин: э Причем, не ну да Можно да Можно в Попку бин положить в Купе с бин да Можно туда положить главное чтобы было в прессе если в поэзии есть
Михаил Непряхин: и то Оно оттуда Возьмется Тогда здесь надо будет просто указать и вот и абсолютный Путь и чтобы
Михаил Непряхин: оно хотя бы у всех примерно работало потому, что ну очень много Проблем возникает просто. Чтобы черт побери эту опытную генерацию запустить установить эти бинарники а Еще вот эта. Вот вся история короче обычно это решается
Михаил Непряхин: с командой на уровне
Михаил Непряхин: компании и просто Предоставляются ну какой-то набор инструкций где вы Там в Две, команды просто все разворачивать У вас все генерится
Михаил Непряхин: вот Поэтому как бы такой проблемы Нет
Михаил Непряхин: когда вы работаете в какой-то команде Там уже все настроено а если вы и сами вот как Мы Сейчас пытаемся типа чего-то сгенерить посмотреть как она работает вот приходится мучиться видеть а с Тремя Бинарниками Черт убери То есть как Бы Это Ж надо было Так Придумать Так сложно Придумать
Михаил Непряхин: и все приются Но что делать если, с живописью работать вот приходится мучиться а и приходится работать и
Михаил Непряхин: на уровне кода, оно довольно легко
Михаил Непряхин: можно если, прямо, хотите, потренироваться можно скачать Я как-то игрался с
Михаил Непряхин: и библиотека Для работы с котировками и
Михаил Непряхин: найти апии Тинькова создать Ключ в личном кабинете Не просто посмотреть и
Михаил Непряхин: Я Видел, Случай когда протобав в отдельном литре Поставят так часто его Нет так Ни разу Не Видел, но наверное как бы тут все извращения могут быть но обычно это Всегда в этом же обычный подход классический вот так как я вам показываю
Михаил Непряхин: все и так единственное в отличие от Апе еще могут иногда назвать докс Или Там док
Михаил Непряхин: могут а а вот генералку обычно просто в папке кино держат
Михаил Непряхин: аа и Так значит появилась у нас в распоряжении два файлика первый вот этот вот
Михаил Непряхин: естественно сверху нас дунут идит Кот генералет бай чем-то там версии видите
Михаил Непряхин: в общем как обычно Везде эти файлы не правят.
Михаил Непряхин: Обычно в компаниях в них еще вмешиваются и чего-нибудь там в совет добавляют ну там инстинкт рецептора еще ничего
Михаил Непряхин: а каким-то метроким,
Михаил Непряхин: вот ну вот классический вот он здесь без всяких права у принцерства как есть вот он такой
Михаил Непряхин: создаются смотрите детошки как бы точно такая же история как мы видели до этого как мы генерили изреста испеки только; тут не Джейсон здесь чесон конечно есть
Михаил Непряхин: тут вот свои Стратеги нужные для протобафа есть полян невидимая
Михаил Непряхин: ну не приватные Мы с Ним ничего сделать не можем а вот это те самые которые наши нэй мэйчи мэйл, итифоны это все есть вот это вспомогательное для работы
Михаил Непряхин: и Также есть гетеры на каждое поле. То есть на каждое поле. С генеральной гетто хорошо будет достать Это поле. Ну вы можете доставать вот прямо как есть вот это поле ну прям напрямую можете это Делать Через гетто как бы како удобно
Михаил Непряхин: а аутпут институт адишник у нас
Михаил Непряхин: кстати не по гошным конвенциям похожным конвенциям а идеи должно быть иди должно быть тоже, большой бук
Михаил Непряхин: вот ну и вот как бы вот оно вот Так вот все аа здесь
Михаил Непряхин: на генерино детошки плюс гетторы при вспомогательные это функции, и
Михаил Непряхин: также вот такие вот секции, интересные
Михаил Непряхин: и короче вот это вот все
Михаил Непряхин: позволяет нам делать маршаллинг маршелинг точно так же, как с ресоном ток вот как Бы более оптимально и из генерального кода
Михаил Непряхин: и второй файлик джерси здесь у нас уже прописаны наши четыре ручки
Михаил Непряхин: эти крей трофайки от профоритет профоритет профайл
Михаил Непряхин: и интерфейс который Мы должны реализовать чтобы это все Заработал Нет это Клиента Сейчас здесь видите как бы клиент и сервер сразу но вот у Клиента такой Не трофейс
Михаил Непряхин: так и а вот клиент создать,
Михаил Непряхин: эээ действительно уже готовые ручки а сервер вот сервер
Михаил Непряхин: а вот у сервера четыре эти ручки наши вот они с
Михаил Непряхин: этими структурками которые вот мы до этого смотрели вот они здесь в протобафе сгенерились
Михаил Непряхин: и подтянулись вот сюда из того файлика ведь здесь пользуются и они повторяют то же самое что мы видели его здесь вот ведь у нас здесь инку структура а по структуру называется также эти Названия. Повторяются
Михаил Непряхин: только витя здесь у нас нет ошибки
Михаил Непряхин: а как бы когда Мы с Гошкой работаем Но уже ошибка нужна вот Поэтому здесь вот ошибка она добавляется
Михаил Непряхин: и мы просто должны реализовать эти методы чтобы наш сервер Заработал
Михаил Непряхин: то есть мы опять, же как и с христом не Избавляемся От Написания Кода Но Все равно его ну в этот сервер Мы должны написать ну с Клиентом да с клиентом чуть получу вот здесь уже есть анаплемент этот этот интерфейс он реализован Но нам надо его
Михаил Непряхин: сделать свой
Михаил Непряхин: вот ну здесь не так много кода ну по Сути прочь вспомогательный Код для работы с этими джерси на Регистрации Ручек
Михаил Непряхин: значит Дальше а Мы когда Мы это все с генерируем а мы идем к контролю
Михаил Непряхин: а так как джерписи это альтернатива листу и это контролер где Держать ну конечно в контроле хоть Мы Сдержим то. Есть как я говорил Наш виз кейс
Михаил Непряхин: он может вызван быть Из разных мест его может вызвать и
Михаил Непряхин: ваше, приложение Поддерживает несколько транспортных протоколов и джерси может поддерживать их и этотп может поддерживать
Михаил Непряхин: а дальше здесь по образу и Подобию как, мы писали х Дтп, мы пишем этот джакузичный сервер а
Михаил Непряхин: порт указываем оно принято вот этот Указывать пятьдесят ноль, пятьдесят один
Михаил Непряхин: а где-то типа Как, Восемьдесят, Восемьдесят, в расте а здесь вот Пятьсот пятьдесят один дальше мы из джерси
Михаил Непряхин: вернее у нас есть джерси этот самый, пакет Кгловый
Михаил Непряхин: мы в нем дергаем значит конструктор нью-йорк
Михаил Непряхин: говорим что соединение наш и инсекюрный бот чтобы Не надо было твс подрубать
Михаил Непряхин: дальше у нас есть возможность указать какие Мы хотим, мидов вары добавить амедовары по джерсиишному, называются интерсепторы и
Михаил Непряхин: ловгера и опен телеметры ну еще метрик ну тут без метрик я сделал
Михаил Непряхин: вот и здесь соответственно У Джерси Тоже, Вот логер интерсептор и оптимизм тренд сектор и дальше
Михаил Непряхин: Мы регистрируем через рефлекшн сервер благодаря нему Мы в Постмоне Сможем увидеть наши ручки
Михаил Непряхин: Давайте покажу что Дает эта штука
Михаил Непряхин: можно запускать без нее но обычно с ней Делают Потому, что просто удобно дбажить удобно этим пользоваться
Михаил Непряхин: Так Сейчас начнут сделать мэйк мейкап
Михаил Непряхин: как уж вы сервак поднять мейк
Михаил Непряхин: Мигра этап ну не Нужны да Так Мы Экран
Михаил Непряхин: а Запустили сервак поднялся вот он Так и Мы просто Берем Так но нас интересует локомотив с этим портом
Михаил Непряхин: Припостма Не Мы делаем ню где джорджа пирси сюда просто вбиваем
Михаил Непряхин: наш джерписи сервер он здесь Находится и и вот
Михаил Непряхин: постман подтягивает методы какие там есть
Михаил Непряхин: это благодаря вот Этой вот строчке рефлекшн Что. Мы видим значит во-первых Мы можем выбрать вот Эту ручку, То есть как Бы удобнее работать с этим
Михаил Непряхин: плюс мы можем Использовать юсик зампо и нам сгенериться вот этот вот пример не то чтобы Всегда корректный но мы его можем
Михаил Непряхин: немножко подредактировать
Михаил Непряхин: телефон тоже неправильно потянулся
Михаил Непряхин: вот метеокей получили адишник то есть ну работа в Принципе в космос не очень Похожа на эээ листовой ручки и здесь он единственное показывает видите уже в удобном нам виде типа как
Михаил Непряхин: Джейсон ну реально конечно это же протобав
Михаил Непряхин: так покажет он не покажет здесь как она выглядит и на самом деле
Михаил Непряхин: так
Михаил Непряхин: Не знаю есть тут возможность Или Нет переключить Джейсон ну короче вы поняли здесь просто вот будут в реальности. И тут, вот вот такие циферки и все
Михаил Непряхин: То есть Реально же это продавав Поэтому он там будет Выглядеть. Вот так вот но Для нас как витейцман он облегчает. Жизнь и вот в таком, виде мы уже видим в удобном с этим можем работать
Михаил Непряхин: так Окей т шесть реализация метовар меняет
Михаил Непряхин: меняется если держится да она меняется ну не То что она ну как бы она пишется по другому
Михаил Непряхин: Сейчас посмотрим на Метовары вот Давайте Сейчас Глянем
Михаил Непряхин: вот короче эта штука она вот этот рефлекшн сервер поднимает и Ручки Мы Видим а так интроверт как устроен
Михаил Непряхин: но ведь посмотрим интерсептор имеет. Характерную сигнатуру дурну должны повторить
Михаил Непряхин: вот эта Сигнатура, контекст реквест эни инфо откуда Мы можем вытащить название ручки Эээ хэндлер это сам хендлер
Михаил Непряхин: который Мы будем, дергать и опять. Возвращается энни и ошибка
Михаил Непряхин: то есть как бы ведь чуть-чуть Посложнее эта сернатура. Ну Мы Не Вдаемся Там в подробности смысла в том Что Вот Мы создали Ошибку Сейчас что-то сложновато Сейчас и лямпу посмотрим вот короче есть У меня Экзам пол
Михаил Непряхин: вот вот экземпал значит Мы можем во-первых Достать название метода вот инфо полметод
Михаил Непряхин: и Это удобно чтобы посмотреть какую Методу, для блокирования дальше Мы говорим хэндлер перейдем туда, контекст Телеквест вот этот вот возвращается исполнится и ошибка Можем здесь ошибку проверить типа если ошибка что-то еще сделать
Михаил Непряхин: это вырезается после нашего вызова, хендлера вот и все вот оно возвращается в общем-то очень. Похоже на мидом вару Христову ну чуть-чуть в другом другом виде Давайте посмотрим Сейчас Мы Запустим какой Там Будет вывод
Михаил Непряхин: так Сейчас Дернем какую-нибудь Ручку этот Номер
Михаил Непряхин: ну вот смотрите феод бифор вот название ручки и джерсичное вот оно вот так вот ведь то есть профайлвый один потом профайл. Вы одиннадцать Пока структура у них называется дальше вот отклеет профайл. Вот я четыре, раза Дернул
Михаил Непряхин: вернее не четыре раза Дернул Это у Меня.
Михаил Непряхин: Э писалось перед Первой медоварой это после Первой Медовары ой ну тут матрешка получается да Сейчас
Михаил Непряхин: Так смотрите сперва напечаталось вот этого да что Пес, бифор вот это напечатывалось потом вызвалась вызвался хендлер Ну и
Михаил Непряхин: а следующий хенлер это либо Следующая мемуара либо это уже реально ручка в нашем случае это следующая метовара следующая медувара у нас секонд вот эта
Михаил Непряхин: Поэтому Печатается секонд бифор Так ведь сэконд Дефорда мчалась всякомпифор
Михаил Непряхин: и уже вот Это вот вызвалась ручка вот Там Это Реально вызвалась ручка креает профайл, дальше Печатается секонд автор, но цикнут автор,
Михаил Непряхин: дальше Возвращается Мы возвращаемся вот в это место и и в джорджии свои коды ответов
Михаил Непряхин: что у меня тут печаталось ну вот коток печатается
Михаил Непряхин: ну а этот я беру и
Михаил Непряхин: как Это же самое пишется в христе и как То же самое в джерси как бы и
Михаил Непряхин: так ванна здесь про интерсектор это рассказала Ну тут надо еще самим посмотреть потыкать дальше Мы говорим Ну создаем вот этот вы один нашу структуру точно так Же как, в листе регистрируем ну тут есть такое понятие как регистрация это в общем-то вот
Михаил Непряхин: когда мы нашу структуру которую в Которой наши хендлеры реализованы Мы передаем
Михаил Непряхин: в эту Ручку и короче говоря просто заменяем Ну как бы интерфейс который Там был стандартный и вот на этот нашу реализацию
Михаил Непряхин: Запускаем сервак здесь Подобная же ситуация, как, в Хтп только Соединение Создается напрямую, Тесипишное чуть-чуть пониже уровня Мы них этот опас Создаем Соединение а типи
Михаил Непряхин: и ну там оно под. Капотом будет работать по протоколу хтп два
Михаил Непряхин: То что хотят про два это над протокол. Там под. Капутом типи Запускается в грутине сервак Геррпичный вот он
Михаил Непряхин: аа ну и все он работает до тех Пор пока Мы Не сделаем клоуз
Михаил Непряхин: и Не вызовем Команду, в грязь фолстоп
Михаил Непряхин: а мы ее вызовем только в конце работы приложения когда мы будем ее закрывать все и
Михаил Непряхин: здесь часть Можно было вынести в отдельную библиотеку как я это делал вот здесь с Этой схваткой по сервером ну здесь не так много кода я ее здесь оставил.
Михаил Непряхин: Так и значит как ручки реализованы ну здесь та же самая история только здесь надо добавить вот этот анаплемент этот профайл. Сервер ну это вот тот который сгенерировал нам этот
Михаил Непряхин: они черпеси потому что видите вот есть аномплемент от методы да а мы их здесь заменяем то есть Мы Делаем с Матием бэдинг Делом и
Михаил Непряхин: просто Подменяем вот те Не имплементированные методы Нашими методами то есть Делаем как Это сказать Перегружаем
Михаил Непряхин: а методы Что ли так Можно сказать ну вот как же теперь записываем Переопределяем поведение тех методов Которые там сгенерированы они видите без поведения аномплемента
Михаил Непряхин: а Мы им Даем настоящее нормальное поведение и Таким образом эта вся, штука работает
Михаил Непряхин: здесь похоже ситуация с арестом значит вот Мы Используем наши деттошки Мы Получаем какую То структуру с генеральную и и Используем гетеры
Михаил Непряхин: и Превращаем ее в нашу Детовую структуру которую потому что у нас юс кейс Принимает нашу Детошку Поэтому она нам нужна
Михаил Непряхин: а Потом когда Мы получаем ответ. Ну Мы записываем в контекст чтобы Потом блогер записать и
Михаил Непряхин: значит используем есть У нас ошибка вдруг То Мы используем специфичные Джерси ошибки какие Это ошибки значит смотрите
Михаил Непряхин: м есть ли У нас в Хеттп Это двухсотки трехсотки до четырехсотки пятисотки здесь все по Другому, значит есть ок
Михаил Непряхин: Это типа Двухсотка Где нету двести двести четыре вот просто Ок а Есть Кэнсефт а Что операция отменена
Михаил Непряхин: Так неизвестно кота
Михаил Непряхин: Не знаю. Короче Давайте Так Попытаемся смапить Э Эти арестовы ошибки на эти ажет ну двухсотка Окей двухсоткает океем
Михаил Непряхин: потом ошибка в лидации четырехсотка это аргумент где этот аргумент Инвалид аргумент
Михаил Непряхин: Инвалид аргумент это аналог Четырехсотки Проблем солидаций
Михаил Непряхин: Есть ли проблема. Типа с логикой рискйсе то Правильнее использовать шэньон
Михаил Непряхин: фейлит про кондишн может эту ошибку правильно использовать и это
Михаил Непряхин: значит Нота фаунд Есть Своя ошибка вместо четыреста четыре и ошибка авторизации перми Шансон. Динайт
Михаил Непряхин: Так
Михаил Непряхин: Так ну и еще Вот еще какие-то
Михаил Непряхин: в общем по факту используется вот им, Тернул для пяти, соток
Михаил Непряхин: фейлет при кондишн для четырех соток из кейсов тут, видите, даже вот Они пытаются объяснить разницу между аборт, это новой его и
Михаил Непряхин: ну, это четыреста четырнадцать четыре и инвалид аргумент это для вашей Бакулитации,
Михаил Непряхин: вот вы соответственно здесь сами Задаете какую Ошибку, вы Хотите, получить, Допустим мы
Михаил Непряхин: ну вот как получить, Ошибку, здесь Давайте мы ошибемся Срок, нас понят
Михаил Непряхин: Давайте ошибемся вот Допустим валитации телефона
Михаил Непряхин: вот будьте вот три инвалид аргумент Это и
Михаил Непряхин: Это наша, ошибка из логики и в ответе три Статус-кво три инвалид аргумент это собственно вот здесь вите тоже статус-к три вот инвалид аргумент вот она Отдает,
Михаил Непряхин: к этим ошибкам тоже приходится Привыкать потому что они прямо, скажем, ну как бы если, вы привыкли к Христам работы да здесь немножечко вот оно
Михаил Непряхин: требуют какого-то переключения но по факту пока вы Много-много Вы с Этим Не поработаете вот Это Все равно очень Тяжело Все Воспринимается Поэтому как бы
Михаил Непряхин: Пока где То Не Попадется на проекты Джерси и вы на Этом собаку не сидите практически нереально с этим разобраться
Михаил Непряхин: значит с делитом Тоже не говорит аргументы я помещаю ну короче здесь история Похожая
Михаил Непряхин: единственный банкет профайл. Видите я вынужден
Михаил Непряхин: вот я получил. Значит айдижник Дедушку, переслал вызвал юскейс ошибки обработал Ездить если, Нот фаунд и
Михаил Непряхин: другую которой. Он говорил Я даже ее не запоминаю вот а ответ. Нам нужно отдать Тоже в детошке которая Ммм Она Своя Она с Гневом
Михаил Непряхин: мнейте вот он ее генериру он в ней будет Отдавать ответ.
Михаил Непряхин: А Давайте посмотрим где он там Не, работает на ответ.
Михаил Непряхин: Найди шник нужен гетет профайл,
Михаил Непряхин: к ватан а да в ответ в своей
Михаил Непряхин: а ну то есть это же должен быть как сказать это же про тобав
Михаил Непряхин: то есть Мы Видим как бы в протобахе ответ. Просто тут этот посман он нам типа поудобнее сделал и себя Это перевел как Будто бывший сон
Михаил Непряхин: даже Не знаю вот наверное здесь есть какая-то возможность как переключить
Михаил Непряхин: в протобафный режим ну он же такой как бы получается. Не очень читаемый может быть Нет такой возможности, фрауйнс
Михаил Непряхин: вот короче Это как бы протобафный ответ. Поэтому Нам, Хоть как надо сделать обертку Видите и маппе Мы нашу внутреннюю
Михаил Непряхин: а детошку, вот Мы аутпод получили мапиум в этот протобахный ответ.
Михаил Непряхин: Рот апдейт ну апдейт
Михаил Непряхин: так как, бы тоже ничего сложного очень похоже на генеральный вариант как Мы до этого делали в Разде
Михаил Непряхин: ну и
Михаил Непряхин: то есть. Как видите ну один фиг сервер это писать надо вот это За вас. Никто Не, напишет
Михаил Непряхин: дальше клиент ну клиент Мы
Михаил Непряхин: Так как у нас антон тоже. С генериен я его Уже написал Вот он Жар-писи
Михаил Непряхин: Ну Указы вам около. Хост Куда обращаться клиент
Михаил Непряхин: так значит Что. Мы Из пакета. Джерарписи того же самого Создаем новый клиент Передаем туда Хост, и порт Указываем что Не без и
Михаил Непряхин: то есть Что мы Хотим? Работать с Х Дтп протоколом не исходит отпс а с хотят это протоколы с ним работать. Вот Мы Поэтому вот этот указываем потому что По дефолту он работает хотя Ип с протоколом соответственно он Требует Те в
Михаил Непряхин: и сертификаты значит Тайм-аут Тайм-аут сделан с помощью мидл. Вары
Михаил Непряхин: то Есть Тянул интерсектор До минора
Михаил Непряхин: и это с Помощью контекста делается здесь то есть вот мы говорим что мы создаем контекст даем пять секунд и если за пять секунд
Михаил Непряхин: он Не Выполнился То Мы делаем отмену и и
Михаил Непряхин: ну как бы Престиж такой возможности Нет Тут Мы сделали запрос типа ну как Мы все ждем
Михаил Непряхин: можем Конечно отменить но он как бы такую вар. Раскидаем Мы Там прекращаем Соединение и Так клиент
Михаил Непряхин: аа говорим что клиент вот эта, ручка возвращает нам, этот готовый клиент но ведь у нее тут уже заранее есть вот эти семероны
Михаил Непряхин: мы его просто добавляем в структурку его здесь имеем в этот наш, генеральный клиент
Михаил Непряхин: также Мы еще имеем здесь Соединение коннекшн ну почему видите ли джерси это постоянный коннекшн то есть Мы реально Поднимаем постоянное соединение
Михаил Непряхин: а которая Один. Раз вначале сделала Хан Шейки и все такое а потом Мы его бом Постоянно Переиспользовать и это ну прикольно как бы да тоже то есть за счет этого джерси быстрее потому что коннекшн вначале один Раз, поднимается и все ему просто пересиспользован
Михаил Непряхин: а Поэтому здесь есть метод коус в конце Мы закрываем этот коннекшн
Михаил Непряхин: Поэтому на уровне вот этого построения нашей, архитектуры вот Мы Создаем Наш сервак ии
Михаил Непряхин: Ану здесь Не Видно Так Как Мы Что посервером Работаем Тут Не Работаем с Клиентом ну круче Мы с сермак как закрываем
Михаил Непряхин: точно также мы и закрываем Клиентам джералд сверкнула
Михаил Непряхин: так и посмотрим как он реализован как его Написали значит вотклеет профайл,
Михаил Непряхин: создается им путь заполняется вот эта структура с Генеральная а мы вот это уже
Михаил Непряхин: красивный дух мы сами написали то есть это обертка мы пишем обертку надджер пессичными ручками почему потому что с ними ну не очень, удобно работать
Михаил Непряхин: как бы согласитесь или я все натуре передам эти данные и
Михаил Непряхин: Джерсичной уже сгенерированной ручкой мы все равно делаем обертку
Михаил Непряхин: и То же самое что-то с делитом вот Он довольно Простой гет гет все равно большой потому что мы тут Мапим в нашу собственную структуру профайл
Михаил Непряхин: да просто аляс я делаю над Структурой. Из пакета, Профайм клиент это вообще есть, Клиента ада а из-за
Михаил Непряхин: Мхат спэшного Клиента даже а вот и Апдейт ну и это он
Михаил Непряхин: отобавьем ну это просто экземпляр да что-то если, Там был Другой Тип То его надо было Тут, приводить вот
Михаил Непряхин: и работать с Этим Делом здесь Экземпал точно такой же как был и У христа и генерального и обычного листа
Михаил Непряхин: можно Я его тут. Скопировал короче можно его запустить а он будет работать, Давайте Не запустим
Михаил Непряхин: так короче чтобы он работал я обычно уводят на верхний уровень просто выкидываю файлик главное Назвать вот Эти, вещи мэйнами а здесь У нас пакет профайл. Клиен джерарписи
Михаил Непряхин: профай клиент джесси
Михаил Непряхин: просто импортируй через, точку в том убираем для простоты
Михаил Непряхин: а вот и ну вот он короче работает У нас там сермак Поднят
Михаил Непряхин: и как бы вот то же самое ну такой Мини-тест оно тоже работает соответственно можно и Тест к Нему написать то есть там в тестах просто поднять вот этот клиент и он тоже. Будет работать
Михаил Непряхин: и Еще из особенностей значит Которые нужно знать
Михаил Непряхин: я добавил. Всем ди анжерписи вызов и их этот вызов вот У нас Сейчас поднят, сервак и У Него здесь Одновременно поднят, и джерписи сервер
Михаил Непряхин: и хтп сервер
Михаил Непряхин: и вот можно сравнить Поведение как они себя ведут то есть много мапиных живописей ее эдит уже везде нужна обь
Михаил Непряхин: ее Иди ну Давайте глянем Еще и как-то мопится, да понятно, дело что, маппинга много Но без этого Никуда мапинга Ни фига Всегда бывает
Михаил Непряхин: так он вот в гетто профайле
Михаил Непряхин: а что тут десять стринга дает ну да а тут ее иди отдается стренгой и Поэтому приходит. Сама петь
Михаил Непряхин: а в гетто профайли я принимаю стремгу
Михаил Непряхин: а вот она здесь приходит а иди приходят люди Странги
Михаил Непряхин: да ну я думаю что про Табафе там скорее всего есть вариант и с еще иди работать чтобы здесь в итоге ее иди пришел ну вот через какое-нибудь такое расширение я думаю что Там это
Михаил Непряхин: где нибудь где нибудь здесь есть ее иди в Ад
Михаил Непряхин: ну вот здесь у меня пример я просто Со стрембой Работаю да Поэтому приходится. Сама пить Так короче
Михаил Непряхин: как Выглядеть. Живописи Вызов значит смотрите Мы вернее надо Начать с арестан значит как крестовый вызов выглядит
Михаил Непряхин: я буду дергать. Ручку Крейет профайл
Михаил Непряхин: аа Шесть Раз То есть я сперва дергаю просто и пишу первый вызов Сколько Времени занял и потом еще Пять Раз, дергаю и Сколько Времени он занял
Михаил Непряхин: а значит смотрите
Михаил Непряхин: и здесь еще вначале я соединение создаю Да я создаю соединение и потом шесть Раз, вызываю ручку. Профайл клеит
Михаил Непряхин: первый Вызов значит вот хотят и присоединение ну вот когда мы создаем Хеттп а клиентам
Михаил Непряхин: ту он Создается мгновенно За три микросекунды
Михаил Непряхин: Реально быстро. Потому Что когда Мы создаем Клиента Реально Там под Капотом Не происходит никакого Вызова там ни пинга ничего нет
Михаил Непряхин: то есть видите здесь даже ошибку Создания Клиента вернуть Не может потому Что мы узнаем создался он Или нет тогда когда Мы попытаемся сделать этот вызов вот там Мы и проверили если, вернулась ошибка здесь будет ошибка
Михаил Непряхин: и и создался мгновенно а потом вот первый Вызов в десять Или секунд потом здесь Потратили секунды
Михаил Непряхин: шестнадцать милли секунд Заняним шесть запросов
Михаил Непряхин: вот значит как выглядит джер песичный вызов давайте сделаемших пессимизов здесь То же самое повторено Тоже. Создается живописи клиент или шесть Раз делается вызов
Михаил Непряхин: посмотрите здесь первый Раз он а во-первых
Михаил Непряхин: Занимает какое-то время потому Что он Реально Поднимает коннекшн тут уж как-то быстро. Отработал так-то обычно подольше работает семьсот
Михаил Непряхин: а он Реально Поднимает это соединение в этот момент Поэтому ведь, здесь может вернуться ошибка
Михаил Непряхин: и в этот момент Он поднял, вот это Постоянное соединение
Михаил Непряхин: первый вызов ведь, Он еще довольно-таки долгий потому что первый Раз, он вот Этой кручке тоже делает соединение пятьдесят миль Секунд занимает а потом ну в Принципе точно так же как, и арест
Михаил Непряхин: твиттер кирст У нас тут занимал
Михаил Непряхин: десять и там По три стабильном
Михаил Непряхин: кто, этот пятьдесят а потом тут три два-три два вот
Михаил Непряхин: а вообще этот пример Был Еще я его писал чтобы показать вам как кипиллаев работает дело в том что там Разница
Михаил Непряхин: скипела вместо кипелаева на общей трам
Михаил Непряхин: незначительная ну типа вот Рот Хтп У нас скиполайвом ну Времени трех да три
Михаил Непряхин: Давайте так Давайте сделаем пятьсот вызовов клейтон
Михаил Непряхин: люди хотя бы сто сто сто сделан крелетов
Михаил Непряхин: и почитаем Сколько это займет двести шестьдесят четыре Мессекунды двести девяносто семь двести девяносто
Михаил Непряхин: вот здесь киповай включен потому что По умолчанию Кип лайф в Дтп Ручка включен Давайте его Отключим
Михаил Непряхин: так Сейчас в Клиенте короче отключается здесь вот на уровне Транспорта на счету Первых на Транспорт.
Михаил Непряхин: А и здесь аа кип лайф дизай был как там называется кейп
Михаил Непряхин: но не дай, бог ты бываешь струн вот атакуемки про вас отключили
Михаил Непряхин: который поддерживает Соединение мы Сейчас проверим как бескорывается Он работает
Михаил Непряхин: Так то есть Он отработал Двести девяносто. Да Сейчас посмотрим тридцать триста двадцать шесть триста двадцать
Михаил Непряхин: на Сколько это процентов. Ну то есть Было Двести девяносто. Скипывавцам английский. Проваливается без кипровавого от триста двадцать
Михаил Непряхин: короче знаю. Чуть Чуть да, одной понятно тут синтетический пример тут нереальная сеть чего как бы тут мы локальной Сети ну? Мы Видим что Тут в локальной Сети как бы Но разницы Практически Нет вот это Прям ну? Чуть чуть Подольше То есть к кипелайф короче как ни крути он дает
Михаил Непряхин: а небольшое преимущество а есть особенность такая что он
Михаил Непряхин: типа лайф не работает из коробки в кубе
Михаил Непряхин: Поэтому когда Мы в кубе работаем вот просто у нас вот этот роутинг из разных то, в Один, пото в Другой. Он Близки Пола его
Михаил Непряхин: А Понятно Что там настраиваться. С помощью Еще что-то по дефолту, киповая Ванят из кубы в кубе
Михаил Непряхин: и Еще прикол, Что в кубе Из коробки Чарписи Тоже. Не работает постоянный коннекшн
Михаил Непряхин: то Есть можно сделать Так чтобы он каждый Раз, коннекшн Поднимал и сделал по одному эти запросы тогда Будет работать балансировка
Михаил Непряхин: а оно приколо в том что если вы давайте вот Сейчас нарисуем
Михаил Непряхин: короче ты сел в кубернетис
Михаил Непряхин: и вы из одного какого-то сервиса обращаетесь в другой под живописи вот Два инстинкта вы попадаете ролан Робин То в один То в другой
Михаил Непряхин: когда вы работаете по хтп То ну вывод сделали соединение
Михаил Непряхин: а получили ответ в следующий Раз, сделали сюда ну и вот так вот туда туда Сюда относится
Михаил Непряхин: и Поэтому кипиваяев Не работает Ну, потому что как Бы Вы То к одному сержу То к другому короче Ну, там Так устройство Тапология сетей и Неработки Поровки
Михаил Непряхин: значит Оно с Помощью истив Делают. Так Что он работает
Михаил Непряхин: и Из Коробки с Джерписи такая Же история
Михаил Непряхин: вот вы принимаете постоянный коннекшн вот он раунд робин да подняли вы постоянный коннекшн
Михаил Непряхин: и все если, вы его не разорвете вы Всегда, будете делать запрос к одному и тому же яинству своего двадцать инстанций вы Никогда не попадете
Михаил Непряхин: Это так сказал приработает Поэтому
Михаил Непряхин: либо вы постоянно рвете коннекшн и тогда у вас будет раунд робин ну согласитесь фигня какая-то Там за черном джерси если, Мы постоянно рвем коннекшн тем более что
Михаил Непряхин: а как видите оно первый-то запрос вообще очень медленно работает
Михаил Непряхин: ты Же как бы вот у нас джерписи первый запрос шестьдесят миллионов Секунд как то в расте то он
Михаил Непряхин: десять, тут был
Михаил Непряхин: десять,
Михаил Непряхин: Пусть, джерпреишный запрос первый раз он долгий он в пять раз дольше чем арестовый Поэтому вот эта вот схема когда вы рвете каждый Раз коннекшины Она ну Она У вас в живописи Будет работать медленнее чем Раз пять раз Не имеет. Смысла
Михаил Непряхин: А как, решать этот вопрос ну Решается значит двумя способами либо вы
Михаил Непряхин: знаете Айпи вот этих Товарищей и вот Этой Этой пьесы и у себя поднимаете здесь
Михаил Непряхин: а вы знаете типи оба
Михаил Непряхин: и вы руками ну как на уровне сервиса сам делать балансировку то здесь У нас балансировка происходит в кубе
Михаил Непряхин: а вы можете сами Делать Эту Балансировку и вот таким образом сперва суда Ходить потом сюда Ходить вот Внутри вашего приложения в чем, минус ну этот пот может Переехать
Михаил Непряхин: поменяться апишник Поэтому этот айпишник надо как то узнать
Михаил Непряхин: Поэтому в Свое, время этот подход был популярен и очень популярным. Было решение от хаши Корпа это
Михаил Непряхин: шкур, консул значит популярное решение было это хашибкор консул
Михаил Непряхин: значит как Оно выглядело когда поднимается какой-то инстанс Он регистрируется в Этом консуле и говорит я поднялся я жив я на таком-то порту и Он пингует его Раз, там Не знаю в десять, секунд говорит что Я жив Я на таком-то Апишнике
Михаил Непряхин: а Наш сервис ходит в Этот Вот консул ну. Этот еще Один микросервис да забирает Айпишник и У себя Внутри балансирует
Михаил Непряхин: короче схема Раньше, Была прям единственной Поэтому все на ней работали
Михаил Непряхин: а до появления истион сервис мэша значит что делает сервис мэр.
Михаил Непряхин: Сервис Мэш изначально родился ааа как Бы вот, Решая эту проблему
Михаил Непряхин: значит чтобы не Держать Эти, эпишники не регистрироваться. Не Балансировать руками мы хотим, чтобы Балансировка Была автоматически вот такая вот
Михаил Непряхин: чтобы был один коннекшн но вернее не один коннекшина поднялась только коннексу насколько канады каждому и сделали это через
Михаил Непряхин: Сайт Кар контейнер поднимается Сайт Кар контейнер то есть в поди рядышком внутри пода у вас вот эта Потта Мы привыкли думать что Один. Повод это Один. Контейнер Но на самом деле Один. В одном поде может быть несколько контейнеров и вот обычно ну современный подход. Что у вас Всегда, есть сайт кара контейнер
Михаил Непряхин: с истион исти это сервис мэш под капотом у Него энвой
Михаил Непряхин: этот инвой это Сервер написанный на плюсах
Михаил Непряхин: Он Похож на Инджикс но только у Него динамическое Изменение конфигурации Он Автоматически значит и
Михаил Непряхин: и Мы Хотим, в Него сходить и Мы здесь говорим Мы идем Воулф и Он Там у себя просто знает Эту Апологию и короче знает По Какому. Эпишнику находится ауз Поднимая два коннекшина сам все Запросы Мы Делаем получается
Михаил Непряхин: все запроса Мы Делаем Через этот сервис
Михаил Непряхин: мы Внутри сервиса знать не знаем о его существовании Он просто праксирует Эти запросы и берет на себя Автоматическую Балансировку, всего в том Числе живописи
Михаил Непряхин: и таким Образом с приходом истио у нас нет проблемы с Балансировкой Нагрузки
Михаил Непряхин: и в джеррписи у нас Все коннекшины постоянные И в целом как бы несмотря на весь гемор работать в джерси ну какой то выигрыш
Михаил Непряхин: отработать записи есть сколько он может быть десять процентов, может пятнадцать процентов, что, ты типа того
Михаил Непряхин: и понятно что, когда вы и
Михаил Непряхин: как в качестве учебы дал можно но вот так прямо по жизни интерпрети, Не самая приятная технология для работы хотя Я Работаешь каждый день с ней Но
Михаил Непряхин: арест страна нравится больше
Михаил Непряхин: а вот это Отступление Которое нужно было сделать и эти примеры Были вот иллюстрацией показать Что Первый, запрос в живописи Он долгий
Михаил Непряхин: Поэтому Не надо рвать коннекшн Поэтому если, у вас исти то все хорошо если, у вас не истиво то задумайтесь о том как вы будете балансировать
Михаил Непряхин: на русским то есть у вас может быть толкает компания где вот нет истео нет сервис Мэром
Михаил Непряхин: тогда вам Придется Делать, балансировку нагрузки на своем вот этом вот уровне либо алиба
Михаил Непряхин: тогда не используйте Эти шарписи если у вас нет истео
Михаил Непряхин: то не надо живописи использовать это прямо поучаствовать очень геморром просто вы работаете с Крестом Арест из Коробки да да не постоянный коннекшн Но зато Балансировка из Коробки и все равно запросы делаются быстрее чем Живописи вот такой парадокс
Михаил Непряхин: хотя все вокруг из каждого утюгают каждого чайника ну по Крайней мере раньше кричали что джербеситель Же, все это скорость Быстро ну вот я вам показываю да что как бы есть условия
Михаил Непряхин: Которые должны Соблюдаться что у вас в компании должен быть установлен Сервис мэш и стюарт, если. Его Нет то. Вы Не Получите никакого. Перформанса в пять раз будет У вас, медленнее все работы
Михаил Непряхин: аа Так Вопросы, давайте Вопросы, почитаем
Михаил Непряхин: Так квасьбинарник. Попал Кубин обычная практика нет необычная практика просто показал вам для удобства чтобы вам не надо было ничего это устанавливать если у вас вас вины или линукс вы просто запускаете и будет работать если у вас маг то придется эти нарники заменить на маковке. И Тоже это будет работать просто для удобства
Михаил Непряхин: просто для урока да
Михаил Непряхин: а если в бюджете не фиксировать самбинарники то как управлять тогда версиями Утелит чтобы не было ситуации когда один разраб работы с одной мерзостью ждет а другой Возврат в разбу и развитие лиды да видите вот еще один момент когда надо чтобы версии были одинаковые ну на самом деле особой проблемы нет
Михаил Непряхин: в компаниях обычно просто распространяется не вы не сами вот Эти, бинарники устанавливаете а вы устанавливайте себе
Михаил Непряхин: корпоративную Программку, Сиявайку, в которой Внутри это все вшито
Михаил Непряхин: она Автоматически Обновляется каждый Раз, когда вы запускаете она проверяет что последняя версия есть она обновится. И Таким образом каждый Раз, когда Выгенерите сервак
Михаил Непряхин: оно вас обновляется вот здесь проставляются и версии Которые
Михаил Непряхин: вот эти версии будут Обновляться, когда ваш, коллега будет генерить он тоже обновит эту программу корпоративную и у вас каждый раз будут версии опаться То есть У вас в Принципе Не будет такую Ситуацию Что как Бы типа какая-то там проблема с расинированием потому что они будут только идти вперед вперед и
Михаил Непряхин: а так вы правильно заметили видите как бы еще один гемор с поддержанием вот этой вот этих версий бинарников Поэтому эту проблему тоже надо решать ну вот большие корпорации конечно это все решают как Раз, платформенные команды они вот этим занимаются
Михаил Непряхин: нужен, там Пас. Команды
Михаил Непряхин: Так кто из этот Пейджерпси вместе Можно поднять да Ведь и Без Проблем Можно поднять в рамках одного приложения сервиса на разных портах да да да я вам больше, скажу вы, можете на разных портах поднять сколько угодно серверов в рамках вашего приложения
Михаил Непряхин: видите как бы гошка тем и хороша что вы в одном Приложении можете запустить сколько угодно контюмеров сколько угодно серверов
Михаил Непряхин: ну они просто, должны быть на разных портах ну, это логично как беда они жебинцы как бы сервер должен быть пробинден, к уникальному порту в системе но вот сколько портов в системе вот сока серверов можете поднять условно
Михаил Непряхин: так Я в третьем шоке в страну Поясните так там Очень, сложно легко вообще как вы поняли
Михаил Непряхин: тему, Интересно бы узнать
Михаил Непряхин: Так Думаю подход с Пекойрфиз гмор Оказалась Еще в джорджии да да да Еще дополнительный гимн увидеть жар птица
Михаил Непряхин: Так. Про воду показались в том числе и ознакомитесь Так. Как бы страдать, нет смысла никакого абсолютно
Михаил Непряхин: а если, Крашница один из них например, в дтп тонн красной джорджа писи или второй останется работать
Михаил Непряхин: а ну хороший вопрос смотрите у нас есть защита когда У нас
Михаил Непряхин: У нас Есть Метро вот Поднимается У нас Дтп
Михаил Непряхин: сервак вот Мы Здесь Вонтеры его Создаем Видите Мы Добавляем Меду вару с рекавером
Михаил Непряхин: короче когда У нас крашится какая-то Ручка паникует То Мы Не Падаем Мы просто восстанавливаемся и Продолжаем Роботы Дальше
Михаил Непряхин: ну, типа Давайте покажу как это выглядит давайте сделаем чтобы ручка запаниковаловым
Михаил Непряхин: а Сейчас давайте через, кейс пусть
Михаил Непряхин: пусть из киева кидают панику вот здесь вот клеет профайла просто кидает панику
Михаил Непряхин: они упомянули ресепшен ну деревенский.
Михаил Непряхин: А у
Михаил Непряхин: Значит обращаемся обращаемся к карлейту Питтипэтка натерло а здесь мостык трейс вывалился
Михаил Непряхин: но Мы эту панику поймали и продолжаем работать
Михаил Непряхин: то есть у нас сервак на самом деле Он Не упал да как бы Мы получили панику Мы вывалили стекрейс Но Мы Можем Продолжить, работать дальше
Михаил Непряхин: То есть, там у нас гитовая Ручка а на
Михаил Непряхин: Продолжают работать ну тут просто
Михаил Непряхин: и нету ее дишника, двести четырнадцать четыре оно нормально продолжает работать вот оно обрабатывает Запросы все работает то есть как бы не важно Что происходит с одной из Ручек
Михаил Непряхин: у вас сервер он все равно продолжает работать потому Что вы
Михаил Непряхин: а у вас как бы Что такое сервер да это набор маленьких. Программочек
Михаил Непряхин: а Маленькие программочки вот они в юскейцах у нас у нас Есть Программа, клиеет профайо делит профайл и до самостоятельной программы. Упала эта Программа, Она упала только в рамках Конкретного запроса закрашивался только конкретный запрос все остальное продолжает работать
Михаил Непряхин: у нас же, все многопоточенные у нас ничего не блокируется Поэтому видите как бы тут красота огошки чтобы сервера писать одно, удовольствие
Михаил Непряхин: так ну и а как меняется грех уши даунджерпси ну вот смотрите мы добавили значит джерписи а сервер
Михаил Непряхин: вот мы его добавили
Михаил Непряхин: а вот У нас храт Итп сервер да что мы делаем сказать это по серую рану Мы его закрываем вот прошел сигнал Мы его закрываем Там Внутри грейс слушает да он вот он шагал, деваться а с джерарпией сервером то же самое Тоже. Голос
Михаил Непряхин: и прошел сигнал Сперва Х Дтп Погасили. И Потом живопись гасим а грех Хвостоп Даже Так не звали ее Уверять Хвостоп то есть также грубо говоря Он прекращает Принимать новые Запросы
Михаил Непряхин: продолжает обрабатывать текущее отдает ответы
Михаил Непряхин: и как Только у него не остается запрос в обработке он Закрывается и мы попадаем в эту строчку идем дальше
Михаил Непряхин: а как в джорджии всем, работать соврать в постоянном соединении но реконэксшн деваться
Михаил Непряхин: ну Будет сделать этот коннекшн заново поднимется Соединение ну либо. Будут Сыпать ошибками что Там какие-то проблемы сетевой
Михаил Непряхин: она так он просто сделал Реконструкцию
Михаил Непряхин: так почему коппо рвется Из дневники полайф а
Михаил Непряхин: а Давайте спросим может Быть Тут скажет почему кубернетис а по дефолоту Не, поддерживает Кириллаев
Михаил Непряхин: может многие мне Не, Ответят так и короче там
Михаил Непряхин: шел, У нас? Тут проблема, Аа
Михаил Непряхин: Сейчас Давайте Логически проссуждаем ну вот чего-то он раздулся да
Михаил Непряхин: так губернатор не использует кипелов по молчанию, потому что это система для Оркестровки контейнеров Которые работают на более высоком уровне абстрактный чем, Фрадкова этот по один день
Михаил Непряхин: а и
Михаил Непряхин: так если быкий повар был бы жестко включен по молчанию это ограничивала бы Гибкость была глава короче
Михаил Непряхин: короче такая топология Сети Там используется
Михаил Непряхин: Там же разные драйвера Там много драверов Мы вот эту вот сеть Коммуникаций между продами Мы можем сделать очень большим количеством способов
Михаил Непряхин: и и Там вот теряется вот эта вот сессионность вот это теряется
Михаил Непряхин: смотрите Еще момент кипелаев Кипелаеву Нужен стейт Так стоит
Михаил Непряхин: потому, что Мы должны зафиксировать сделали запрос Мы должны зафиксировать
Михаил Непряхин: что вот Мы Там как бы Это в носкипелов есть, короче
Михаил Непряхин: я Не знаю надо как бы Можно копаться разбираться Не расти и спрашивать ну вот факт типа ваш, Не работает
Михаил Непряхин: По Дефолту ну. Истию сестер настраивают так и умаев работу от исти
Михаил Непряхин: Поэтому если, у вас есть уроки помоги будет работать
Михаил Непряхин: Поэтому у сестры тоже джорджа Сидел в этот Раз, довольно быстровод
Михаил Непряхин: так Давайте какую нибудь обратную связь дайте мне типа вот как ну понятно ли я объясню проджерпси все ли ок. Там плюс минус Э
Михаил Непряхин: стало ли Понятно что Это такое как Этим Работать
Михаил Непряхин: какую-нибудь обратную связь было бы неплохо типа либо какие-то моменты остались непонятными и еще что-то посвятить
Михаил Непряхин: так ну Чего все вопросов больше нет.
David R: Есть вопросик можно.
Михаил Непряхин: Давайте знаете.
David R: Не помню чтобы хоть Раз общался с серфером со стороны клиента со стороны браузера по джерси получается джордж это практически Всегда! История про Общение Между
David R: и Сервисами Между Собой под Капотом Или Все Же для общения с клиентом Тоже. Используется джерри и Джерси где-то.
Михаил Непряхин: Короче.
David R: Имеется в виду и.
Михаил Непряхин: Да да да Это Там почти в Ста процентах для взаимодействия между сервисами, между Собой но ан
Михаил Непряхин: вот в гоу короче Есть Я что То встречал такое Что Фронтент
Михаил Непряхин: Тоже там Есть какая-то возможность Через пятнадцать Костылей как-то сделать Общение Через Джерарписи Но Оно короче никто Так Не Работает оно нигде Не Используется
Михаил Непряхин: и Поэтому везде Ну вот эта. Вот Связка получается Что Вы короче говоря У вас фронт
Михаил Непряхин: он все равно Делает запрос к инженсу
Михаил Непряхин: А ну Там обычный короче хэтэпэшный
Михаил Непряхин: вот А уже эн джингс может под Жарпписи дальше Внутри Это дело, проббросить а там между сервисами там Вот сервисом вон Другой серойсети Тоже будет Чарписи То есть, джералдеси Это как бы чисто просерверное Общение
Михаил Непряхин: и хоть! И Внутри там все под Записи может общаться от этого обнаружнее Общение Оно все равно Остается по дтп
Михаил Непряхин: уж не знаю какие Там причины, Но вот Джерси почему-то Для общения с фронтом Не использует Хотя чего-то Слыхал что Как. То можно Через Костыри сделать Но Реально Не видел.
Илиас Эззахид: Я Кстати. Зарисовал этот вопрос вчера и Там прикол. В Том Что Он Плохо работает с протубафом Но и
Илиас Эззахид: и Поэтому Да То есть Можно как-то Там Всякие скрипты Добавить Но Это очень Кастыльно.
Михаил Непряхин: И смысла Нет ну просто, бессмысленно как бы а в целом вы знаете как бы
Михаил Непряхин: рядом барписи появился да там ну типа ну вот ну наверно там
Михаил Непряхин: джессика джонс и какая там дата рождения джесси когда появился
Михаил Непряхин: ну Подобав пятнадцатом году теперь. Записи появился
Михаил Непряхин: э вот он в То, время ну вот даже там в двадцатом Году он Выглядел серовато и как бы все говорили ну Сейчас Сейчас оно Там разовьется с жастом оно этого то не допилит
Михаил Непряхин: он По факту По мнедок технология остается Сырой недоделанной Неуклюжей, некрасивой не изящной
Михаил Непряхин: и вот она не развивается то есть как то такое ощущение что ну вот его принцессная вот эта часть она вот какая то в каком То таком, виде Я думаю что Там Внутри Угла оно Там все Допилено и
Михаил Непряхин: Они Там для себя какие То вещи оптимизировали но в целом короче говоря
Михаил Непряхин: на уровне технологии от джерси работать неприятно вот как ни странно я вот не знаю, даже как это еще по другому писать но просто есть какое то, ощущение, сыроватости технологии
Михаил Непряхин: и и
Михаил Непряхин: и мы вынуждены решили вот этим вот заниматься тащить вот эти зависимости это тоже я вам для простоты Просто сюда добавил, чтобы оно Просто Блин работало с этим тоже очень большой геморрой возникает чтобы вот эти вот зависимости проббросить А они Же там тоже Версионируются Обновляются
Михаил Непряхин: короче все выглядит очень костыльно и оно ну как бы Не переходит из этого сурового состояния в какое-то более нормальное вот уже третья версия про такого но по факту как бы ну
Михаил Непряхин: такой все равно оставляет Остается ощущение, сорватости
Михаил Непряхин: а у нас был проект демобильщики делали запросы на север через потобов нативный андроид
Михаил Непряхин: ну? Вот опять, же да как бы Возможно там
Михаил Непряхин: есть ли особенно, если структуры большие,
Михаил Непряхин: выигрыш получается существенный за счет того Что вот вместо полей мы работаем цепи с этими циферками
Михаил Непряхин: ну и получается и а у нас в целом как бы на бэкенде
Михаил Непряхин: мы такое Количество Логов пишем да настолько неоптимально просто если посмотреть эээ вон вот с трейссом мы тут кинули да вот так трясся лыжи какой огромный и люди вот это все пихут во логи
Михаил Непряхин: Поэтому как бы мы с одной стороны вроде такие, все прогрессивные джералдеси используем экономику поэтики а потом берем и вот это заплевываем все влоги, и прямо, это делаем в больших. Больших. Количествах и постоянно
Михаил Непряхин: и ну как бы
Михаил Непряхин: Не знаю То о какой Экономии идет, Речь по мне Так лишь бы Это было удобно и просто как-то всем. Было
Михаил Непряхин: приятно Понятно, с этим работать
Михаил Непряхин: вот Поэтому вот эта вот экономия на спичках там на этих баитиках ну если вы понимаете зачем вам это надо здесь во сколько-то Хай-вот если вы экономите каждый бай туда, в противном случае, ну такое
Михаил Непряхин: вот Ладно Если вопросов Больше Нет.
David R: Можно в вопросе кардиограмма версионирования персионирования опешек,
David R: ааа Всегда забываю задавать вот у нас есть допустим тот же самый профайл вы один Внутри там куча Ручек Э, криэйт Аптейн элит и так далее и допустим нужно до версии два обновить ручку например, тот же крейд
David R: и мы создаем второй файлик Куда запихиваем эти эту ручку мы ее создаем только эту ручку и называем ее и меняем только юлу ее логику и только ее подключаем или нам, нужно тащить Все остальные ручки
David R: ручки сделать копии.
Михаил Непряхин: А не.
David R: Их тоже прописать в в Два и даже если, они ничем не отличаются их тоже туда. Же пихать ну вот По Гоному как вы праве.
Михаил Непряхин: Ну вот просто, делайте вот такое вот добавили сюда вы два ручку в три ручку
Михаил Непряхин: а здесь вот на джерсишном вот вы добавили пакет то есть, я как, бы специально тут, намекаю да вот этим вот вы один, вот создаете
Михаил Непряхин: вы два здесь называете, этот в Два здесь соответственно пакет называете его Два вот и ну вот клеит, про фарту Уже сюда Копируете
Михаил Непряхин: а называете его соответственно ну Нет смысла Назвать Так и Этого- Два Так Внутри здесь пакет Твой Два этот клеит профайл, Тоже. Можно Даже
Михаил Непряхин: и Так Да его Можно Не, трогать вы здесь просто
Михаил Непряхин: вы здесь будете Использовать это сделаете генералку а и
Михаил Непряхин: Так Сейчас соображу нет он здесь будет, Назад по-другому вот смотрите Сейчас мы Сделаем а мой генерал
Михаил Непряхин: а мы гениальность сделали он Там сгенерировался значит в джерарписи в гения
Михаил Непряхин: вот он сминируется в Два нам надо его реализовать
Михаил Непряхин: а значит здесь вы его называете, в Два
Михаил Непряхин: и ну как бы есть вариант конечно будет рядом положить и назвать его два но мне нравится разделять их по папкам ну здесь как бы вот уже вкусовщина такое вот Он здесь будет твое два называться соответственно и вам только здесь осталось подрубить вадва
Михаил Непряхин: так аа здесь у вастон вы один,
Михаил Непряхин: а вы делаете в два в два и регистрируете
Михаил Непряхин: ой Нет здесь так Не, получится здесь надо повод здесь Мы регистрируем все равно один Раз
Михаил Непряхин: а да здесь этот подход никонеттон здесь
Михаил Непряхин: короче да это ошибка Нет смысла здесь называть его называть вы Один, в Два нас просто рядом Класть.
David R: Просто и.
Михаил Непряхин: Ну Да.
David R: Кучка в Этого Вот Так, правильнее именно, в голос.
Михаил Непряхин: Ну да да ну здесь без Проблем как бы здесь Хтп это я взял структуру просто дпс каперо короче здесь У вас просто было ну вот отдельные роты
Михаил Непряхин: а вот будет в два и соответственно здесь вы будете использовать какой-то два вот этот вот и здесь как бы оно вот эту структуру я использую х Дтп
Михаил Непряхин: и и а просто рядышком помещаете файлик называете, его
Михаил Непряхин: вот так вот твоя два и все а здесь уже внутри
Михаил Непряхин: а вот вас вы два и все равно просто работают
Михаил Непряхин: ну вот то есть как бы просто Вот это Не надо было назвать войди меня надо было каким-то другом назвать.
David R: В том же и но там где ручки не поменялись под, капотом они летели ректе со одной в один
David R: или такой подход ну такой себе костыльный.
Михаил Непряхин: Ну, так я Так никогда Не Делаю Потому Что
Михаил Непряхин: Ну, типа Ну, и Получилась Ручка в Два какая То У вас да ну. Типа внуки ничего Страшного типа
Михаил Непряхин: аа в купогенты вы будете обращаться вы один По каким то вы Два просто все равно Это же
Михаил Непряхин: Гм труд Живите с версионированием здесь правда Нету какого то Правильного да типа
Михаил Непряхин: вот как Удобно клиенту Вашему если Вашему клиенту прямо вот надо чтобы если, мы перешли то все надо переписать ну тогда да тогда делать. Как вы говорите
Михаил Непряхин: понятно, что, можно точно Так же взять и не париться сделать рядышком еще одну прямо в методе прописать не на этом вот не на высоком уровне от версионирования
Михаил Непряхин: а и а Там дальше Назвать По-другому ну типа
Михаил Непряхин: если Мы про арест говорим ну вот У нас есть профайл. А будет Там профайл. Ну Там в два вот так У нас будет. И про файлы про ферра- два можно и так сделать как бы
Михаил Непряхин: здесь все равно Мы отталкиваемся либо ну вот когда Мы договариваемся Со с той стороной
Михаил Непряхин: как ему удобно и вот как им удобно Мы Так и Делаем тут как бы Нет каких-то Прям вот жестких и
Михаил Непряхин: Поэтому да.
David R: Ну Ладно понял? Спасибо.
Михаил Непряхин: Так все ладно Давайте тогда до четвергам всем, спасибо всем, пока.