
Комментарии 13
как по мне все эти HTTP/2/3 станут действительно повсеместны только тогда когда выпустят популярный открытый браузер на том же расте. А так оно останется уделом транспортного уровня приложений, как тот же gRPC
Firefox на Rust
Quantum — проект по модернизации движка Gecko и других компонентов с целью повысить производительность браузера, улучшить его архитектуру и перевести браузер на многопроцессную модель работы. Этого планируется достигнуть постепенной заменой компонентов движка Gecko компонентами экспериментального высокопроизводительного движка Servo, который, благодаря языку Rust, обеспечивает безопасную многопоточную обработку данных. Первой версией, в которую вошли улучшения из проекта Qunantum, стал Firefox 57
Источник https://ru.wikipedia.org/wiki/Mozilla_Firefox
Servo — экспериментальный браузерный движок, разработанный Mozilla, также портированный Samsung на Android и процессоры ARM. Отличительная особенность движка — распараллеливание множества действий, таких как рендеринг, парсинг HTML, декодирование изображений и других, в раздельных изолированных легковесных потоках (task в терминах Rust). Движок написан на языке программирования Rust.
Источник https://ru.wikipedia.org/wiki/Servo_(движок)
3 недели назад состоялся релиз https://github.com/servo/servo/releases/tag/v0.0.1
Quantum это проект по замене частей Gecko частями из Servo.
На данный момент заменены CSS-движок, реализация WebGPU написана на Rust, WebRender и ещё всякое по мелочи типа выпадающего списка поисковых движков в адресной строке, медиапарсера и обработчика дампов падений.
Но говорить, что это вот прям весь Firefox уже на Rust примерно так же преждевременно, как называть киборгом человека, у которого рука и нога заменены протезами. Частично на Rust, но большая часть пока ещё нет.
HTTP/2 итак популярен. И библиотеки есть. А HTTP/3 это довольно бессмысленная и слишком перемудрённая (ради ничего) поделка гугла, которую он пихает везде. Такая манера у гугла - сделать абы что и потом везде тащить и рекламировать.
grpc, go, HTTP/3 и тд
вам golang дал кубер, докер и еще с десяток глобал проектов, не трожь!!)
лол)
прям уж подробно в HTTP/3 я не разбираюсь, но судя по общему вашему тону он реально может оказаться чем то хорошим и необходимым
за gRPC особенно посмеялся)
grpc полезен, но плохо реализован и подан, он мог бы быть гораздо лучше, но перестал развиваться после рождения
go - не буду тут всё перечислять, этот язык с амбициями маленькой библиотеки стекфул корутин. Сил вложено немеренно, если бы эти силы вложились в библиотеку на С++ - мы бы сейчас были в другом мире
HTTP/3 - просто очень сомнительная вещь. Относительно HTTP/2 единственный обещанный плюс это убирание head block из-за TCP (актуально только при плохом интернете по сути), но в итоговом варианте всё равно есть head block из-за динамической таблицы в декодере, который зависит от порядка пришедших запросов
Прямо в rfc протокола есть упоминание, что возможны логические дедлоки и ничего с этим не сделать
Ради QUIC перелопатили весь ssl, ещё значительно его усложнив и ухудшив
Нигде ни разу не видел упоминаний, что HTTP/3 быстрее, чем HTTP/2, а значит это не так, иначе бы везде орали
Ну и да, HTTP/3 невероятно сложный и весь завален багами и гонками. Собственно статья прямо про это - слишком сложно реализовать
Порылся - есть кажется ровно одна статья про перфоманс HTTP/3 vs HTTP/2 https://blog.cloudflare.com/http-3-vs-http-2/ и там HTTP/3 проигрывает 1-4% и собственно ни в каких сценариях не показал себя лучше
а вы точно настоящий сварщик?
вы это говорите с высоты своего опыта использования и внедрения или просто на фоне прочитанных статей?
анаголов gRPC как собак нерезаных (и все они появились после него) вот только хорошесь в чем-то одном рубит другое. A gRPC универсален и без сюрпризов под разные платформы
За Го просто абсурдно. В С++ вон вкладываются ни одно десятилетие подряд, но только все чаше и чаше появляются новые языки на основе. У Голанда своя ниша хотя и вне ее он шикарен по многим параметрам (включая беспроблемную кросплатформу и интеграцию) из за чего его сейчас используют очень много где а не только "по специальности" (вебсервер)
Я вообще ембеддед разработчик и для меня мир за пределами HTTP/1.1 кажется диким и неизведанным но про проблемы с ssl известны и мне, то есть я понимаю что для такого поведения были причины. Скорость же - дальше физики не прыгнешь и как по мне паралелизм что завезли в HTTP/2 и так можно считать вершиной скорости, дальше только полностью отказываться от криптографии и оставить только проверки целостности.
К слову "плохой интернет" это со стояние клиента по умолчанию и странно что HTTP/2 создали единорога которого нужно обмазать кучей параметров что бы он адекватно работал и с нестабильным или плохим инетом (был опыт с gRPC в таком ключе)
обмазать кучей параметров что бы он адекватно работал и с нестабильным или плохим инетом
не знаю никаких параметров там. "проблема" в TCP, и это не фиксится ничем, с другой стороны это так себе проблемы на фоне HTTP/3
а вы точно настоящий сварщик?
у меня есть своя реализация http2 и я знаю как это всё работает
Явно правительство сша давит на все корпорации, чтобы они делали всё больше rust библиотек, печально, что Россия не занимается поддежкой опенсорса. Потому что это громадный рычаг, условно через 10 лет окажется, что все разработчики популярных библиотек на западе, экосистема языка созданного DARPA (rust) единственная возможная (другие уже законами запрещают в США), ну и конечно обязательно закладки сделают - как в ssl и некоторых других библиотеках
Привяжут к своей экосистеме, своим технологиям, а мы будем сидеть с "максом" бесполезным, потому что занимались не нажатием на громадный рычаг (опенсорс), а запрещали месседжеры для бабушек
Опенсорс это когда из-за одной появившейся библиотеки тысячи компаний могут начать проекты, которые без неё были бы невозможны, появляются кадры, экономика растёт
печально, что Россия не занимается поддежкой опенсорса.
вполне занимается - https://portal.linuxtesting.ru/
сделаю вам даже скрин, чтобы не было вопросов про сертификат
Скрытый текст

кроме кернела по другим либам тоже патчи в апстрим шлются

Cloudflare открыла исходный код асинхронной библиотеки QUIC и HTTP/3 на основе среды выполнения Rust Tokio