RU

Один Telegram‑бот, три сервиса, один 301: как я сделал webhook‑router вместо монолита

У Telegram-бота может быть только один активный webhook. У меня при этом появились три независимых сценария: поддержка пользователей, управление неб…

Telegram Bot APIwebhookFastAPIRedisPythonHMACидемпотентностьочереди сообщениймаршрутизация запросовDocker
Habr
RU

Архитектура TMS на .NET: кластер, потоки координат и объектное хранилище

Это разбор архитектуры системы управления транспортом — без сроков, без смет и без сравнения технологий по галочкам. Только устройство: из чего сист…

архитектура.NETинтеграцияEIPKafkaRabbitMQRedisPostgreSQLкластерпартиционирование
Habr
RU

Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться

Проект представляет из себя быстрый способ воссоздать архитектуру состоящую из 2 серверов (локальный + удаленный) с определенными сервисами, которые…

APIТестированиеLinuxИнструментыGitБезопасностьPythonRubyunixIDEМузыкаРаботаHTMLDIYGitHubНавыкиVPNTelegramСервисыDockerCloudflareФронтендRedisQAМессенджерdevСерверNFTМашин1CDeFiGrafanaVPSСтатьи
Tproger
EN

Expedia Uses AI Driven Service Telemetry Analyzer to Accelerate Incident Investigation

Expedia Group has introduced STAR, an internal AI-assisted observability platform that helps engineers investigate production incidents using servic…

OpenTelemetryRedisAI Assisted CodingSite Reliability EngineeringKubernetesPrompt EngineeringAPIHTTPMonitoringgRPCGraphQLIncident ResponsePlatform EngineeringObservabilityDevelopmentAI, ML & Data EngineeringArchitecture & Designnews
InfoQ
RU

Как приручить legacy-код: безопасная модернизация без заморозки фич

Как модернизировать legacy-код без остановки продукта: Strangler Fig Pattern, feature flags, shadow testing и безопасная миграция данных. Практика и…

ИнтернетAPIJavaGitОпросPythonRubyMySQLПрактикаSQLРефакторингРаботаTorGitHubБотыHRMITФинтехICORedisQAБэкендTwitterИграПриложениеСерверKubernetesБиблиотекианалитикOpenTelemetryPostgreSQLDeFiGrafanaБизнесLegacyТехникаСтатьи
Tproger
RU

Cache is hard — почему инвалидация кэша — это проблема согласованности, а не производительности

Кэш часто воспринимают как простой способ ускорить систему: положили данные ближе к приложению — получили быстрый ответ. Но&nbsp…

кэшированиеинвалидация кэшасогласованность данныхраспределённые системыRedisPostgreSQLCDCKafkaTTLвысоконагруженные системы
Habr
RU

OwnCloud – аналог Nextcloud: для чего использовать и как настроить облачное хранилище

ownCloud vs Nextcloud, что лучше? Какое облачное хранилище выбрать? Как может помочь связка S3 с ownCloud? — Читать дальше « OwnCloud – аналог Nextc…

LinuxAndroidОпросMySQLКонференцииIDESQLWindowsiOSРаботаTorБотыRustHRDockermacOSICORedisМаркетингQAМессенджерПерсональные данныеСерверДизайнМашин1CБизнесСтатьи
Tproger
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реа…

APIJavaScriptJavaAndroidStack OverflowGitБезопасностьОпросIDESQLiOSРаботаTorGitHubБазы данныхHRReactDockerMITАлисаRedisQAМессенджер5gПриложениеВзломdevСервер1CPostgreSQLGrafanaСтатьи
Tproger