LINUX.ORG.RU

Cloudflare выпустила первый публичный релиз Pingora v0.1.0

 ,

Cloudflare выпустила первый публичный релиз Pingora v0.1.0

0

4

5 апреля 2024 года Cloudflare представила первый публичный релиз открытого проекта Pingora v0.1.0 (уже v0.1.1). Это асинхронный многопоточный фреймворк на Rust, который помогает создавать прокси-сервисы HTTP. Проект используется для создания сервисов, обеспечивающих значительную часть трафика в Cloudflare (вместо применения Nginx). Исходный код Pingora опубликован на GitHub под лицензией Apache 2.0.

Pingora предоставляет библиотеки и API для создания сервисов поверх HTTP/1 и HTTP/2, TLS или просто TCP/UDP. В качестве прокси-сервера он поддерживает сквозное проксирование HTTP/1 и HTTP/2, gRPC и WebSocket. Поддержка HTTP/3 — в планах. Pingora также включает в себя настраиваемые стратегии балансировки нагрузки и аварийного переключения. Чтобы соответствовать требованиям и безопасности, он поддерживает как широко используемые библиотеки OpenSSL, так и BoringSSL, которые соответствуют требованиям FIPS (федеральных стандартов обработки информации США) и пост-квантового шифрования.

Помимо этих функций, Pingora предоставляет фильтры и обратные вызовы, позволяющие пользователям полностью настраивать то, как сервис должен обрабатывать, преобразовывать и пересылать запросы.

В рабочем режиме Pingora обеспечивает плавный перезапуск без простоев для самостоятельного обновления, не теряя ни одного входящего запроса. Syslog, Prometheus, Sentry, OpenTelemetry и другие необходимые инструменты наблюдения легко интегрируются с Pingora.

Возможности Pingora: использование Async Rust, поддержка HTTP 1/2 end to end proxy, TLS over OpenSSL или BoringSSL, gRPC и проксирование веб-сокетов, Graceful reload, настраиваемые стратегии балансировки нагрузки и аварийного переключения, поддержка различных инструментов мониторинга.

В версии Pingora v0.1.1 исправлены ранее обнаруженные ошибки, улучшена производительность алгоритма pingora-ketama, добавлено больше бенчмарков TinyUFO и тестов для pingora-cache purge, ограничен размер буфера для журналов ошибок InvalidHTTPHeader, а также исправлены опечатки и внесены необходимые исправления в комментариях и документации проекта.

>>> Подробности

★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Ответ на: комментарий от zx_gamer

всех нормальных программистов это такой мешанины просто взрывается мозг

Вы смешиваете разные уровни. На 2024 год есть огромный пласт высокоуровнего программирования, где не думаю о низкоуровневом программировании. Это не значит, что код не оптимиируют и не отлаживают, но делают это с другой степенью детализации.

Скорее вы говорите о программировании микроконтроллеров, чем о программировании сервисов, приложений и утилит.

Вы говорите о канальном уровне, когда разработка идет на транспортном уровне и выше (если говорить в системе OSI).

lbvf50txt
()
Ответ на: комментарий от lbvf50txt

Скорее вы говорите о программировании микроконтроллеров, чем о программировании сервисов, приложений и утилит.

Под современные контроллеры вполне можно писать на расте. Нафигачил околожелезных ансейфов, и вперед.

Чего уж там, уже даже есть микропитон для контроллеров.

liksys ★★★★
()
Ответ на: комментарий от liksys

Под современные контроллеры вполне можно писать на расте. Нафигачил околожелезных ансейфов, и вперед.

А нафига тогда rust? Навоз на грядки можно на тракторе развозить с прицепом - а можно в поршкаен в салон насыпать и вилами оттуда разбрасывать. И тыкаить потом соседям фермерам - во вы лохи, на тракторе говно возите а я на каене могу.

У каждого инструмента своя задача. Тыкать в расте ансейфы чтобы упереться рогом и написать на расте непременно код для контроллера - от того что кроме раста не знаешь ничего? Или доказать кому-то что вот как я крут я и на расте могу написать? Смысл то какой?

Микропитон кстати да - тоже из того же места ноги растут. Наплодили питонщиков на волне моды - куда их девтать то теперь? А вот сделаем им микропитон - пускай чайники какие нибудь программируют.

Qui-Gon ★★★★★
()
Ответ на: комментарий от lbvf50txt

Мерси.

Еще тоже вот интересные люди собрались, утверждают, мол диды на сях писали - и ничего, нормально всё было. Ну так диды жили десятилетия назад, тогда и задачи были другие.

Я вон ставил солярку начала девяностых, так там в банальном шелле нет ничего, что сейчас считается за само собой разумеющееся. Автодополнения бинарника по табу нет, перемещения курсора по CLI нет, цветов в ls нет, хотя терминал-то все это позволяет. Пакетный менеджер дубовый и примитивный, без проверки зависимостей. О репозиториях вообще молчу.

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

Кстати говоря, любители покивать на контроллеры забывают, что еще каких-то лет 20-25 назад, программирование контроллеров на сях (не говоря уже о плюсах, лол) считалось натуральным святотатством, и утверждалось, что прошивки надо писать исключительно на ассемблере. А сейчас сишный и плюсовый код уже везде. Времена меняются, инструменты тоже.

BTW персонально я надеюсь, что в сях в новом стандарте таки занесут defer, потому что goto это конечно хорошо, но нативный defer семантически лучше. Это точно избавит от некоторой доли ошибок при освобождении ресурсов.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от liksys

Еще тоже вот интересные люди собрались, утверждают, мол диды на сях писали - и ничего, нормально всё было.

Типичный форум. В какую область не ткни всегда будет активная часть пользователей подобного типажа, агрессивно защающие технологии прошлого.

Вплоть до рассказов, что лучше кирзовых сапог с портянками нет обуви более подходящей для туризма.

lbvf50txt
()
Ответ на: комментарий от lbvf50txt

Вплоть до рассказов, что лучше кирзовых сапог с портянками нет обуви более подходящей для туризма.

Тут скорее ваш типаж всплывает. Этакий юнош со взором горящим похватавший всего модного и уверенный что вот он то сейчас перевернет мир. Роговые очки, напомаженная бороденка, смузик, самокатик. Главно чтобы вот выпендриться. Подходит технология к задаче, не пожходит - главное чтобы было модно молодежно необычно. Натянем трусы через голову не отрываясь от соломинки со смузи.

Помнится в РФ начинали проект Ё-мобиля с бюджетом от Прохорова. Изначально была идея создать что-то вроде мерседесовского (ныне мерседесовского - а изначально тоже молодежного стратапа) смарт. Который таки взлетел. Но нашим же хипстеркам все казалост не так. Авто - ну нет, нам нужен гибрид. Но не такой как у всех - аккумултяор - это же у всех, неее - мы сделаем СУПЕРКОНДЕНСАТОР. Гибрид - взять обычный ДВС? Свой разработать классический (с оглядкой на готовые образцы) или лицензировать или вообще там купить у кого-то - не, это не модно и не круто. МЫ забомбим абсолютно новый мегапуперсуперротор которого ни у кого не было - вот мы на бумажке нарисовали смотрите какой красивый. И где сейчас Ё-мобиль ? Ну понятно что все это модномолодежнохипстерное не могло поехать нигде кроме как в компьютерной анимашке - и это было понятно любому опытному инженеру который не считал выше своего достоинства опуститься до железа и ручки попачкать. Но зато как красиво и складно эта компашка идиотов умела петь собловьями и разводить инвесторов на бабло. Увы - чего не отнять от смузихлебов - так это умения завернуть какашку в бумажку, впарить ее и свалить с баблом пока фантик не развернули.

Собственно при чем тут раст - да не причем. Его сделали умные дядьки в мозилле для своей определенной задачи. Денег у мозиллы таких как у гугла нет - приходится крутиться и раст им успешно помогает. И беда тут не в расте. А вот в этой массе полуграмотных смузихлебов которые теперь пытаются этот раст пропихнуть везде где надо и не надо, когда правдами когда полуправдами но чаще звездежом. В мозилле такое не прокатывает - там то народ знает где его надо а где не надо. Но вот в других сферах часто какашка в красивом фантике пробивает себе дорогу гораздо эффективнее шоколадки в неказистой обертке.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Тут скорее ваш типаж всплывает.

Дальше пошли уже ваши фантазии, которые вы почему-то считаете приличным опубликовывать.

Вы думаете ваш много-обзацевый поток сознания читают?

lbvf50txt
()
Ответ на: комментарий от lbvf50txt

Вы думаете ваш много-обзацевый поток сознания читают?

Ну вы же прочитали (с) Капитан Джек Воробей

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Ну вы же прочитали (с) Капитан Джек Воробей

Ага. По диагонали.

lbvf50txt
()
Ответ на: комментарий от Qui-Gon

Аплодирую.

Правда, мне кажется, мозила сама поняла, что эксперимент не очень удачный. Поддержка проекта на двух (прикладных, не скриптовых) языках всегда сложнее, чем поддержка проекта на одном языке. (Речь про firefox) Это усугубляется еще и тем, что парадигмы у языков разные.

zx_gamer ★★
()
Ответ на: комментарий от liksys

ну почитал. То есть пишем код на сях сверху нахлобучиваем некую мегацефалию на rust которая якобы что-то там магическим образом исправит. Ну ерунда же - не исправит ничего. Если в ишных ансейфах - кал, то никакой раст объединяющий их не сделает это шоколадом.

Но как технология - да, если у вас есть некий фреймворк на расте который что-то делает, и вы прикручиваете к нему некий код на сишечке-крестах-асме и этот оптимизированный код занимается свои делом, фреймворк - своим. Кажется где-то я это видел. Лис так написан. Работает, норм. Но причем тут контроллеры не ясно. Если конечно не объявить контроллером железяку по мощности способную потягаться с не самым плохим компом даже и ничего. И есть такие контроллеры в принципе - но я всеже имел в виду нечто более привычное, там где и с памятью не разгуляешься и так вот забыть что-то очистить и не заметить сложновато.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

ну почитал

Ты ничего не понял. Перечитывай снова. Обрати внимание на упоминание размера unsafe и верификацию.

liksys ★★★★
()
Ответ на: комментарий от lbvf50txt

На 2024 год есть огромный пласт высокоуровнего программирования, где не думаю о низкоуровневом программировании.

Ну вот это примерно то о чем я тут вещаю. Быдло- или Говно- кодирование. Когда программист древности писал программу, даже на языке высокого уровня - он всегда держал в уме возможности железа. Нынешний быдлокодер понятия не имеет как будет исполняться его код. Его мерилом является всякая махровая херня вроде элегантности кода, его краткости, красивом форматировании - в итоге получается адский трэш и дерьмо.

Так чтобы примерно понятно было на примере баз данных. Был отчет написанный таким вот быдлокодером который не знал и не желал знать как там работает этот низкий уровень. Он был художником выского уровня с виртуозным владением SQL и его обвязки - и весь отчет он завенрул в один селект по шикарному (по его мнению) join. Дебилушка возносил себя до небес -ай да я как я красиво сделал - смотрите, это же по сути одна строчка кода. Ай да я молодец. Только работало то что написал молодец примерно часов 60. На хорошем серверном железе своего времени. Пришлось молодца выгнать нахрен и за ним самому переписать. Вернее сначала переписать потом выгнать. Переписанный код был переписан с учетом размера таблиц и структуры индексов и отрабатывал за 5 минут. 5 минут - вместо 60 часов. А почему выгнать - да потому что молодец вместо того чтобы признать что надо учиться стал лить вот это фуфло быдляцкое -в 200* каком уж не помню году есть пласт программирования где не надо думать о том что там низкоуровневого - надо виртуозно знать свой ЯЗЫК и писать на нем КРАСИВО.

Это так в копилку заказчиков и манангеров и разного code reviwеров - как увидите такого «я не думаю о низкоуровневом программировании это ниже моей мегаквалификации» - лучше что вы можете сделать для своего проекта это поставить гения в коленно-локтевую и смачным пинком оправить в полет подальше. Ибо разгребать потом конюшни насранного такими гениями - гораздо дороже чем убрать срулей сразу. И даже слонопасов на курсе молодого *(нужный язык подставить) всетаки обучают основам того как этот код будет обрабатываться на реальной железяке.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Но пока жив батька Линус говнокодерство

Когда программист древности писал программу,

Ваши тексты больше похожи на Былинно-Фентезийный эпос чем на рассуждение о языках программирования.

я не думаю о низкоуровневом программировании это ниже моей мегаквалификации

  1. Вы прециплись к опечатке.
  2. Вы дописываете удобные вам домыслы.
lbvf50txt
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.