Рубрика «nginx» - 7

Скорее всего, рассказывать, что такое вебхуки (webhooks) — никому не нужно. Но на всякий случай: вебхуки — это механизм оповещения о событиях во внешней системе. Например, о покупке в интернет-магазине через онлайн-кассу, отправке кода в GitHub-репозиторий или действиях пользователей в чатах. В типичном API нужно постоянно опрашивать сервер, написал ли пользователь что-нибудь в чате. С помощью механизма вебхуков можно «подписаться» на оповещения, и сервер сам отправит HTTP-запрос, когда произойдет событие. Это удобнее и быстрее, чем постоянно запрашивать новые данные на сервере.

Эволюция обработки вебхуков Facebook: с нуля до 25 000 в секунду - 1

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

Основная масса сообщений отправляется через Facebook Messenger. У него есть особенность — медленный API. Когда клиент пишет сообщение, чтобы заказать пиццу, Facebook отправляет в ManyChat вебхук. Платформа его обрабатывает, отправляет запрос обратно и пользователь получает сообщение. Из-за медленного API некоторые запросы идут несколько секунд. Но когда платформа долго не отвечает, бизнес теряет клиента, а Facebook может отключить приложение от вебхуков.

Поэтому обработка вебхуков — это одна из главных инженерных задач платформы. Чтобы решить проблему, в ManyChat за три года работы несколько раз меняли архитектуру обработки с простого контроллера в Yii до распределенной системы с «Галактиками». Подробнее об этом под катом расскажет Дмитрий Кушников (cancellarius).
Читать полностью »

Введение

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

Основная же цель написания новой статьи — даже не показать другой механизм работы, сколько показать возможности nginx про которые иногда совсем забывают, считая его банальным прокси-сервером.

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

В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее записывает данные. Clickhouse сжимает данные, что делает данные на диске еще компактнее. Преимущества Clickhouse видны по 2 слайдам с доклада Как VK вставляет данные в ClickHouse с десятков тысяч серверов.

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse - 1

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse - 2

Для просмотра аналитики по логам создадим дашборд для Grafana.

Кому интересно, добро пожаловать под кат.

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

Статья из разряда «заметки на полях».

TL:DR:

http2_max_field_size 8k; # всех спасет!

На одном из проектов, после изменения некоторой внутренней логики бекенда, начал наблюдать странный response_code в логах, а именно — 0. В логах выглядит примерно так:

{
  "timestamp": "2020-01-17T08:41:51+00:00",
  "remote_addr": "zzz.zzz.zzz.zzz",
  "request_time": 0,
  "upstream_response_time": "",
  "upstream_header_time": "",
  "http_accept_language": "-language",
  "response_status": 0,
  "request": "",
  "host": "example.com",
  "upstream_addr": "",
  "http_referrer": "",
  "request_length": 5854,
  "bytes_sent": 0,
  "http_user_agent": ""
}

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

Rambler против Nginx: дело так и не закрыли - 1

Несмотря на «надежду», которую перед Новым годом высказал глава Сбербанка Герман Греф, что дело Rambler'а против Nginx будет закрыто, и даже несмотря на поручение совета директоров «Рамблера» отозвать заявление, к середине января наступившего 2020-го ничего не изменилось.
Читать полностью »

Битва WEB серверов. Часть 2 – реалистичный сценарий HTTPS: - 1

О методике мы рассказывали в первой части статьи, в этой мы тестируем HTTPS, но в более реалистичных сценариях. Для тестирования был получен сертификат Let’s Encrypt, включено сжатие Brotli на 11.

На этот раз попробуем воспроизвести сценарий развертывания сервера на VDS или в качестве виртуальной машины на хосте с типовым процессором. Для этого устанавливали лимит в:

  • 25% — Что в пересчете на частоту ~ 1350МГц
  • 35% -1890Мгц
  • 41% — 2214Мгц
  • 65% — 3510Мгц

Количество единовременных подключений сократилось с 500 до 1, 3, 5, 7 и 9,
Читать полностью »

Итоги недели: Rambler и Twitch договорились, в РФ введут электронные трудовые, а Facebook создаст свою ОС - 1

Итоги прошедшей недели на Хабре. В этом дайджесте — самые важные, интересные и громкие события, о которых говорили в последние семь дней. Rambler и Twitch решили конфликт в досудебном порядке, а вот с Nginx все не так просто; Facebook решила создать собственную ОС на замену Android; в IBM показали аккумуляторы будущего. Читать полностью »

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

image

Подробнее под катом.
Читать полностью »

Компания Wargaming юридически преследует своих бывших сотрудников за работу над Open Source проектом (программным обеспечением с открытым исходным кодом), который она официально развивала до весны 2018 года. Wargaming подала персональные иски к своим бывшим сотрудникам, которые на данный момент работают в ООО «БлицТим», с требованиями о компенсациях на суммы до полумиллиона долларов с человека.
Читать полностью »

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

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


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