Search
Write a publication
Pull to refresh
22
0
Aleks Lozovyuk @aleks_raiden

Криптовалюты, финансы, распределенные системы

Send message

Централизованная обработка алертов: интеграция VictoriaMetrics, Alertmanager, Grafana OnCall и Telegram

Level of difficultyMedium
Reading time16 min
Views3.6K

Эффективный мониторинг является краеугольным камнем надежности любой IT-системы, позволяя своевременно выявлять возникающие проблемы. Однако само по себе обнаружение проблемы – это лишь полдела. Не менее важна быстрая и скоординированная реакция команды. Инструменты вроде Alertmanager и Grafana OnCall играют ключевую роль в автоматизации процесса оповещения и управления инцидентами. В этой статье мы подробно рассмотрим, как выстроить цепочку взаимодействия между различными компонентами системы мониторинга и оповещения, чтобы каждый инцидент автоматически отслеживался от момента его фиксации правилом мониторинга до доставки уведомления ответственному инженеру в мессенджер, например, Telegram.

Читать далее

TI-99/4A — популярный компьютер, который принёс одни убытки

Reading time25 min
Views15K

Среди компьютеров, которые есть в Яндекс Музее, особенно заметен TI-99/4A американской компании Texas Instruments. Он выделяется стильным чёрно‑серебристым корпусом, странным пустым пространством справа от клавиатуры, необычной горизонтальной «загрузкой» картриджей и, конечно же, своей уникальной историей.

Мало про какой компьютер можно сказать: «Он здорово продавался, но с треском провалился» — как правило, верно либо первое, либо второе утверждение. Но TI-99/4A — случай уникальный. Его история — это рассказ о жадности, мести, недальновидности, странных решениях, безумной ценовой войне, неожиданных анонсах и предсказуемых последствиях.

Одним словом, это очень увлекательная история, которую мне давно хотелось рассказать. И вот, как следует изучив стоящий в нашем Музее TI-99/4A, перелопатив с добрую сотню сайтов и несколько десятков журналов, сопоставив несколько спорящих друг с другом хронологий и выстроив более‑менее стройную картину событий, я готов поделиться ею с вами.

Читать далее

Как биржи манипулируют книжкой ордеров: технический анализ стакана и ботов

Reading time11 min
Views5K

Механика биржевой торговли в криптовалютах нередко воспринимается как нейтральная инфраструктура: вы выставляете лимитный ордер, он попадает в стакан, и дальше всё решает рынок. На практике это не совсем так.

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

В этой статье мы разберём, как устроен order book на биржах типа Binance, OKX и Bybit, и какие манипуляционные паттерны можно наблюдать в реальном времени. Мы изучим:

Читать далее

Какие есть альтернативы Prometheus, если для метрик его стало недостаточно

Level of difficultyMedium
Reading time17 min
Views7.6K

Prometheus прекрасно подходит для краткосрочного мониторинга, но у этого решения есть свои ограничения по масштабу, и если вы столкнулись с высоким потреблением памяти/CPU, снижением скорости запросов или вам требуются уникальные лейблы вида user ID, то стоит подумать над внедрением альтернатив. На наш взгляд следующими после Prometheus в линейке стоят Thanos, Cortex, Mimir или VictoriaMetrics. Объективное, насколько это возможно, сравнение характеристик этих решений мы и проведем ниже.


СОДЕРЖАНИЕ


0. В каких случаях нужно задуматься о замене Prometheus
1. Обзор решений для долгосрочного хранения метрик
2. Сравнение решений: Thanos, Cortex, Mimir и VictoriaMetrics
3. Как выбрать подходящее решение
4. Миграция с Prometheus на долгосрочное хранилище
5. Сохранение алертов и дашбордов
6. Как избежать потери данных при миграции
7. Лучшие практики эксплуатации долгосрочного хранилища метрик
8. Высокая доступность и избыточность
9. Мониторинг состояния хранилища метрик
10. Обработка долгосрочных запросов и типовые ошибки

11. Обслуживание и обновления (Maintenance & Upgrades)
12. Итого. Как жить с продакшн-наблюдением

Читать дальше →

Транзакции в redis

Level of difficultyMedium
Reading time5 min
Views5.3K

Когда начинают говорить о транзакциях в redis некоторым представляется в голове что‑то типа «postgresql»: «...Суть транзакции в том, что она объединяет последовательность действий в одну операцию „всё или ничего“. Промежуточные состояния внутри последовательности не видны другим транзакциям, и если что‑то помешает успешно завершить транзакцию, ни один из результатов этих действий не сохранится в базе данных...». Если говорить в ЭТОМ контексте, то транзакций в redis НЕТ и мы имеем дело с морской свинкой («не морская и не свинка»). А что же есть и как это можно мониторить.

Читать далее

Премиум на грани абсурда: как McDonald’s попытался сделать «люксовый» бургер

Reading time5 min
Views25K

McDonald’s — символ простоты и доступности. Но в 1996 году они попытались сыграть в премиум: разработали рецепт за миллионы, сняли рекламу с гольф-клубами и выпустили Arch Deluxe. Бургер для взрослых, от которого шарахались даже дети.

Читать далее

Почему твой await fetch тормозит — и как это исправить

Level of difficultyEasy
Reading time5 min
Views15K

Привет, Хабр!

В этой статье рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.

Читать далее

«Вспомнить всё» — история Виктора Казаринова о том как зарождалась ИТ в СССР и России, в провинции

Level of difficultyEasy
Reading time76 min
Views4.3K

На Хабре регулярно публикуются истории о зарождении и развитии ИТ в 1970-е и 1980-е на Западе, но очень не часто можно прочитать о том как это происходило в СССР и России. И обычно, в этих историях идет речь о том как это проходило в столицах, упуская то как это происходило в провинции.

Что бы заполнить эту лакуну, и осветить дела минувших дней, хочу поделится воспоминаниями Виктора Казаринова директора ООО "Патисоник", которые он публиковал с февраля 2017 по апрель 2024 года на форуме ZX-PK.RU. Виктор непосредственный участник разработки всех компьютеров, производимых его предприятием, таких, как Patisonic-48, Patisonic-48ST, Aleste-520EX, а также других интересных самодельных компьютеров. Для более удобного чтения, опубликованные воспоминания были объедены воедино и с минимальными косметическими правками представлены вашему вниманию.

Приятного чтения!

100K юзеров за 3 дня — как готовились к релизу

Level of difficultyMedium
Reading time13 min
Views5.2K

Привет, Хабр!

В этой статье — история запуска Telegram Mini App, куда за трое суток пришло 100.000 реальных пользователей.

Покажу, как мы масштабировали Node.js приложения на многоядерных серверах, увеличивали RPS в 10 раз, боролись с N+1 проблемой в MongoDB и снижали нагрузку на CPU. А ещё расскажу как мы быстро настроили мониторинг через Grafana, подключили Cloudflare и интегрировали Sentry. Поделюсь практическими инсайтами о том, на что стоит обращать внимание в первую очередь, и как эти инструменты помогли нам оперативно находить узкие места и устранять сбои в реальном времени. Всё, о чём будет в этой статье, основано на том, что действительно сработало. Кроме того, расскажу, какие моменты мы упустили до запуска.

Это разбор с цифрами, графиками и практическими выводами. Он может сэкономить вам время, нервы и деньги, если вы готовитесь к запуску Telegram Mini App или просто работаете с Node.js-приложениями, которые могут оказаться под серьёзной нагрузкой.

Это первая часть истории — про то, как мы готовились к запуску, что предусматривали и на что делали ставку.

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

Читать далее

S3 в мире Kubernetes: как объектное хранилище сделать частью контейнеров (подход от команды Deckhouse)

Level of difficultyEasy
Reading time7 min
Views4K

Статья рассказывает о том, как облачное объектное хранилище S3 можно интегрировать с Kubernetes с помощью решений от Deckhouse и файловой системы GeeseFS. Автор объясняет, зачем вообще подключать S3 как том для контейнерных приложений, какие задачи это решает и почему для этого выбран именно GeeseFS. А ещё честно указывает на подводные камни — ограничения по скорости, отсутствие привычных файловых атрибутов, особенности кэширования и диагностику.

Читать далее

Безопасная сборка Docker-образов в CI: пошаговая инструкция

Reading time7 min
Views6.2K

Привет, Хабр! Я Саша Лысенко, ведущий эксперт по безопасной разработке в К2 Кибербезопасность. Сейчас появилась куча инструментов для автоматизации рутинных задачи и все активно идут в эту сторону для оптимизации ресурсов и быстрых результатов. Так в DevOps внедрение CI/CD пайплайнов ускоряет разработку, деплой приложений, сокращает time to market. Автоматизация — незаменимый сегодня процесс, который при этом открывает отличные лазейки и для киберугроз. Далеко не все задумываются, кому и какие доступы раздают и к каким последствиям это может привести. Поэтому без учета кибербезопасности здесь появляются дополнительные риски инцидентов. В этой статье я поэтапно разобрал пример сборки Docker-образов в GitLab CI пайплайнах с учетом баланса между безопасностью автоматизированной разработки и скоростью процесса.

Читать далее

Как мессенджеры шифруют сообщения (end-to-end) на самом деле

Level of difficultyMedium
Reading time9 min
Views15K

В этой статье мы углубимся в реализацию шифрования (end-to-end) сообщений на стороне клиента с использованием JavaScript и Web Crypto API, разобрав практический пример, который будет в самом конце статьи.

Начнём с того, что если вы полный ноль в криптографии, то понять написанное здесь может быть непросто. Мне самому, несмотря на 10 лет опыта в разработке, пришлось поломать голову — всё, что здесь происходит, это чистая математика, о которой мы в этой статье говорить не будем :) Особо впечатлительные могут подумать, что это магия :)

Если вкратце, без сложных слов и терминов, попробую объяснить суть сквозного (end-to-end) шифрования

Читать далее

Настройка location в Angie. Разделение динамических и статических запросов

Level of difficultyEasy
Reading time6 min
Views1.9K

В этой статье погрузимся в основы конфигурации веб‑сервера Angie — директиву location. Она используется во всех конфигурациях при работе с HTTP‑модулем и отвечает за разделение настроек обработки запросов по URL. В том числе, с помощью location происходит разделение запросов на статические и динамические. Начнём с последнего: разберёмся, что такое динамические и статические запросы.

Читать далее

Генерация карт Таро при помощи OpenAI модели GPT-Image-1

Reading time3 min
Views2.6K

Я решил сделать уникальную колоду карт Таро. Заказывать их у фриланс-художников дорого: каждая карта стоит от 5 USD, так что для полной колоды из 78 карт это выходит 390 USD. Перебрав разные генераторы изображений, я остановился на модели GPT-Image-1 от OpenAI, поскольку она выдаёт максимальное качество и минимальный процент ошибок. В среднем генерация одной карты занимает около минуты. Создание одной колоды обошлось мне в $25. В итоге я сгенерировал три колоды с уникальными стилями и потратил на это в общей сложности 75 USD.

Читать далее

Лечим проблемы Kubernetes на лету по мере масштабирования проекта: опыт команды VK Cloud

Reading time9 min
Views4.4K

Производительность etcd-кластера со множеством объектов — головная боль команд, которые любят и ценят Kubernetes. И вот почему: чаще всего для роста производительности кластера используют горизонтальное скалирование, а это приводит к нагрузке на кластер из-за увеличения времени согласования записи данных. В результате вместо шустрого кластера получается неповоротливый тяжеловес. 

Меня зовут Алексей Волков. Я менеджер продукта Cloud Containers в VK Cloud. В этой статье я расскажу о кейсе одного из наших клиентов: с каким запросом он пришел и с какими сложностями сталкивался, как мы провели тюнинг etcd-кластера и какие настройки нужны, чтобы повысить производительность Kubernetes. 

Читать далее

Топ-10 NFT-игр 2025 года: во что играть без риска и с интересом

Reading time4 min
Views1.6K

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

Читать далее

От контейнеров до кода: инструменты для поиска уязвимостей на все случаи

Level of difficultyEasy
Reading time15 min
Views4.7K

Всем привет

Меня зовут Сергей. Работаю в небольшой компании. Помимо прочих обязанностей, также анализирую код и docker-образы, написанные нашими разработчиками, на предмет различных уязвимостей. В этой статье хотел бы поделиться нашими подходами и open-source инструментами, которыми я использую в своей работе.

Быть может кто-то найдет что-то полезное или новое для себя.

Найти что-то полезное или новое для себя

«Сети Судного дня». Как разработка противоядерной ПВО привела к рождению Интернета? Часть 2. Система SAGE

Level of difficultyEasy
Reading time15 min
Views5.3K

Продолжим рассказ о том, как путь к появлению Интернета наметили и проложили исходно военные соображения. В прошлой части мы обсудили, как у военных обеих сверхдержав появилась идея увязки систем ПВО в электронные сети с ЭВМ, и как это с противоречивыми результатами пытались сделать в СССР. Теперь пришла очередь переключиться на США и посмотреть, как попытка создания зенитного заслона на потенциальном пути советских бомбардировщиков привела к появлению сетевой системы управления ПВО SAGE континентального масштаба с автоматизированным компьютерным управлением. И заронила в своих разработчиков идеи, изменившие со временем всю жизнь нашей цивилизации.
Читать дальше →

Механика эволюции домов в Pharaoh (1999)

Level of difficultyEasy
Reading time12 min
Views3.9K

Путь от простых хижин к роскошным особнякам, украшенным фресками и колоннами, в Pharaoh — это не просто вопрос архитектуры и разные текстуры. Это отражение заботы игрока о своём виртуальном городе, его нуждах, вере и безопасности. Каждое жилище в городе это FSM, реагирующая на условия вокруг: достаток еды, доступ к воде, религиозные обряды, культурные радости и много чего еще.

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

В этой статье попробую рассказать, как устроена эволюция домов, какие требования стоят за каждым уровнем жилья и как это было реализовано в оригинальной игре. Если вы вдруг пропустили встречу нашего жреческого круга... простите, предыдущие статьи про восстановление исходников этого старого ситибилдера, — обязательно найдите время, чтобы взглянуть на пару интересных моментов (Добро пожаловать в Древний…, ecs, dynvtbl, логические потоки и Фараоне, Как построить мастабу, Как рисуется карта в Фараоне, Новый дом для Фараона)

Все скриншоты в статье сделаны уже на рендере проекта, исходники на github

To build, or not to build...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity