Рубрика «nginx»

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

Как мы в Dropbox перешли с Nginx на Envoy - 1

Читать полностью »

Оглавление

1. Введение
2. Backend
2.1. Инфраструктура.
2.2. Доменное имя. SSL.
2.3. Серверное приложение на Dart.

3. Web
3.1. Заглушка «Under construction»

4. Mobile

Введение

Меня, Flutter-разработчика, знакомые часто спрашивают: «Что же такое язык Dart?». Качают головой со словами: «А вот Петя серьёзные транспорты на Java пишет, а в Яндексе вообще плюсы в проде...». Ну что ж, пожалуй, действительно, Dart далёк от практик «фабрик для создания фабрик» из Java. Однако если стоит задача реализовать клиентские приложения сразу для нескольких платформ, не утонув в потоке задач по синхронизации разработчиков разных целевых ОС; создать целостный UI, узнаваемый, но специфичный для Android, iOS и веб и в целом уложиться в адекватные бюджет и сроки, — здесь Flutter не имеет конкурентов. И эти вопросы стоят вдвойне если у вас… стартап.

Итак, легенда: некий стартап решил создать новый сервис… ну, например, для

обмена списками покупок

Такая себе идея для стартапа, я знаю, но если я выпущу ещё один ToDo лист в этот мир, мне будет стыдно :)

между пользователями сервиса. Цель стартапа — выпустить MVP за три месяца на трех платформах (плюс четвертая — сервер, конечно).

10 лет назад я бы сказал, что этот кейс не имеет решения и постарался бы держаться от него подальше, 3 года назад решением мог стать стек ReactNative/React/NodeJs, в 2020 году для этого есть Dart. Добро пожаловать в атмосферу разработки альфа версии сервиса, я постараюсь наглядно пройти и объяснить весь процесс разработки. Код всех приложений будет выложен в паблик. Комментарии, включая набросы и холивары, приветствуются. Спросить автора «по существу» или просто посоветоваться можно в Telegram канале нашего отдела.

Сервис на языке Dart: введение, инфраструктура бэкэнд - 1
Читать полностью »

Lynwood Investments объявила, что подаёт в калифорнийский суд иск к F5 Networks, нескольким сотрудникам «Рамблера» и двум инвестиционным компаниям -- E.Ventures и Runa Capital. Утверждается, что иск одобрен советом директоров «Рамблера». Lynwood требует возместить себе $750 убытков, связанных с тем, Читать полностью »

Программируем прямо в Nginx - 1

Nginx — великолепный веб-сервер. Все мы привыкли использовать его в связке с бекендомами на разных языках программирования. Но оказывается можно писать простые программы прямо внутри конфигурационного файла Nginx. Это можно использовать для балансировки, написания простых API и даже отдавать динамические страницы прямо из конфига.

В статье мы разберем примеры написания простых программ в конфиге nginx.
Читать полностью »

Один из самых громких скандалов 2019 года — это, вне всякого сомнения, уголовное дело на разработчиков веб-сервера NGINX, заведённое по заявлению «Рамблера» и Lynwood Investments CY Ltd. о нарушении авторских прав: якобы авторы NGINX разрабатывали его в рабочее время и по заданию работодателя, а потом присвоили результат себе.

При этом отдельно важно отметить, что сам по себе сервер NGINX — некоммерческий продукт, он распространяется в исходных кодах под лицензией BSD и доступен всем желающим. Деньги компания зарабатывает на продуктах, строящихся на базе NGINX — например, веб-сервере и балансировщике нагрузки NGINX Plus и системе управления им NGINX Controller.

Больших сомнений в том, что перед нам традиционное «патентное рейдерство», не было уже на старте — даже если предположить, что претензии справедливы, момент для их предъявления был выбран совершенно недвусмысленный: несколькими месяцами ранее компания NGINX была куплена за $670M американской F5 Networks.

Так или иначе, но масштаб возмущения в IT-сообществе удивил многих — и, кажется, не в последнюю очередь менеджмент «Рамблера» и только что вложившегося в него «Сбербанка». После череды открытых писем и публичных заявлений «Рамблер» дал задний ход и пообещал во всём разобраться.

Увы, здесь включилась «российская изюминка» — сохранившаяся с прошлых десятилетий привычка отдельных бизнесменов решать вопросы через заведение уголовного дела. Заявленная сумма ущерба автоматически делает преступление тяжким, а следствие по таким делам не может быть прекращено по примирению сторон (ст. 25 УПК РФ).

О том, что ничего не закончилось, юристы говорили ещё в декабре, а со стороны людей, знакомых с образом мыслей крупного менеджмента, звучали предупреждения, что просто будет сделана пауза до весны: дать время шуму угаснуть, «Рамблеру» — дистанцироваться и восстановить репутацию.

И действительно, ничего не закончилось — ни тогда, ни сейчас.

Читать полностью »

Прежде чем фича попадет на прод, в наше время сложных оркестраторов и CI/CD предстоит пройти долгий путь от коммита до тестов и доставки. Раньше можно было кинуть новые файлы по FTP (так больше так никто не делает, верно?), и процесс «деплоя» занимал секунды. Теперь же надо создать merge request и ждать немалое время, пока фича доберётся до пользователей.

Часть этого пути — сборка Docker-образа. Иногда сборка длится минуты, иногда — десятки минут, что сложно назвать нормальным. В данной статье возьмём простое приложение, которое упакуем в образ, применим несколько методов для ускорения сборки и рассмотрим нюансы работы этих методов.

Несколько советов о том, как ускорить сборку Docker-образов. Например, до 30 секунд - 1

Читать полностью »

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

Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В статье кратко изложены проблемы, которые могут возникнуть при высоконагруженном использовании http запросов и пути их обхода.

Читать полностью »

В HTTP/2 появилась компрессия стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок. Задача становится критичной, если HTTP-парсер должен обрабатывать интенсивный злонамеренный трафик. Стандартные библиотеки предоставляют обширный инструментарий обработки строк, но у HTTP-строки есть своя специфика. Именно для этой специфики разработан HTTP-парсер Tempesta FW. Его производительность в несколько раз выше по сравнению с современными Open Source решениями и превосходит быстрейшие из них.

Александр Крижановский (krizhanovsky) основатель и системный архитектор Tempesta Technologies, эксперт в области высокопроизводительных вычислений в Linux/x86-64. Александр расскажет об особенностях структуры HTTP-строк, объяснит, почему стандартные библиотеки плохо подходят для их обработки, и представит решение Tempesta FW.

Под катом: как HTTP Flood превращает ваш HTTP-парсер в узкое место, проблемы x86-64 с branch mispredictions, кэшированием и не выровненной памятью на типичных задачах HTTP-парсера, сравнение FSM с прямыми переходами, оптимизация GCC, автовекторизация, strspn()- и strcasecmp()-like алгоритмы для HTTP-строк, SSE, AVX2 и фильтрация инъекционных атак с использованием AVX2.
Читать полностью »

Об одной уязвимости в… - 1

Год назад, 21 марта 2019, в баг баунти программу Mail.Ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неинициализированной памяти, в которых чаще всего раскрывались фрагменты из GET-параметров и заголовков других запросов к тому же серверу.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js