# высоконагруженные системы

Published articles for высоконагруженные системы.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Extracting a Chat Microservice from a Monolith: Lessons from hh.ru

DevFeed: [Extracting a Chat Microservice from a Monolith: Lessons from hh.ru](<https://devfeed.tech/articles/15-30692.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/956102/>)

Author: Ilrahil (hh.ru)

Published: 2025-10-14T10:00:26Z

Content type: article

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [Back end](<https://devfeed.tech/topics/backend.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Java](<https://devfeed.tech/topics/java.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [hh-ru](<https://devfeed.tech/tags/hh-ru.md>), [highload-plus-plus](<https://devfeed.tech/tags/highload-plus-plus.md>), [java](<https://devfeed.tech/tags/java.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [tag-1e4ee1f65f5a](<https://devfeed.tech/tags/tag-1e4ee1f65f5a.md>), [tag-75f84211cab4](<https://devfeed.tech/tags/tag-75f84211cab4.md>), [tag-bfc1a5037c9b](<https://devfeed.tech/tags/tag-bfc1a5037c9b.md>), [tag-c2e9e71d738f](<https://devfeed.tech/tags/tag-c2e9e71d738f.md>), [tag-d4be1d74f775](<https://devfeed.tech/tags/tag-d4be1d74f775.md>)

### AI overview

A backend developer at hh.ru describes the staged extraction of a chat microservice from the Negotiations monolith. The article covers separating modules, monolith dependencies, SQL joins, transactions, asynchronous API delays, and the final service extraction, using event-driven architecture, data-model redesign, and an integration layer.

### Source excerpt

Про выделение микросервисов из монолита рассказывали много, но у каждого свой путь - в статье расскажем про наш. От простейшего выделения сервиса в модуль в начале до решения проблем разрыва транзакций, SQL Join-запросов, задержек асинхронного API и непосредственно выделения нового сервиса. Использование event-driven архитектуры, редизайна модели данных и интеграционного слоя как основных подходов в процессе выделения. Читать далее