#микросервисная_архитектура — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #микросервисная_архитектура, aggregated by home.social.
-
Единое окно инженера данных: как мы построили веб-среду разработки для 12 000 потоков данных
Привет, Хабр! Меня зовут Никита Калганов, я ведущий системный инженер данных в X5 Tech. Мы с командой проектируем и развиваем высоконагруженную систему потоков данных и поддерживаем её в условиях постоянного роста, как по числу потоков, так и по количеству команд, которые с ней работают. В нашей системе обработки данных живёт больше двенадцати тысяч потоков данных, и их число растёт в среднем на несколько десятков в день. Всё нормально работает, но мы решили сделать её ещё лучше. В этой статье расскажу, как мы построили единое окно инженера данных, сделали собственный DDL-мигратор с поддержкой зависимостей и при этом сохранили то, что уже работает.
https://habr.com/ru/companies/X5Tech/articles/1026382/
#большие_данные #big_data #lakehouseплатформа_данных #data_pipelines #airflow #yaml #gitlab_cicd #микросервисная_архитектура #оркестрация #ddl
-
Единое окно инженера данных: как мы построили веб-среду разработки для 12 000 потоков данных
Привет, Хабр! Меня зовут Никита Калганов, я ведущий системный инженер данных в X5 Tech. Мы с командой проектируем и развиваем высоконагруженную систему потоков данных и поддерживаем её в условиях постоянного роста, как по числу потоков, так и по количеству команд, которые с ней работают. В нашей системе обработки данных живёт больше двенадцати тысяч потоков данных, и их число растёт в среднем на несколько десятков в день. Всё нормально работает, но мы решили сделать её ещё лучше. В этой статье расскажу, как мы построили единое окно инженера данных, сделали собственный DDL-мигратор с поддержкой зависимостей и при этом сохранили то, что уже работает.
https://habr.com/ru/companies/X5Tech/articles/1026382/
#большие_данные #big_data #lakehouseплатформа_данных #data_pipelines #airflow #yaml #gitlab_cicd #микросервисная_архитектура #оркестрация #ddl
-
Единое окно инженера данных: как мы построили веб-среду разработки для 12 000 потоков данных
Привет, Хабр! Меня зовут Никита Калганов, я ведущий системный инженер данных в X5 Tech. Мы с командой проектируем и развиваем высоконагруженную систему потоков данных и поддерживаем её в условиях постоянного роста, как по числу потоков, так и по количеству команд, которые с ней работают. В нашей системе обработки данных живёт больше двенадцати тысяч потоков данных, и их число растёт в среднем на несколько десятков в день. Всё нормально работает, но мы решили сделать её ещё лучше. В этой статье расскажу, как мы построили единое окно инженера данных, сделали собственный DDL-мигратор с поддержкой зависимостей и при этом сохранили то, что уже работает.
https://habr.com/ru/companies/X5Tech/articles/1026382/
#большие_данные #big_data #lakehouseплатформа_данных #data_pipelines #airflow #yaml #gitlab_cicd #микросервисная_архитектура #оркестрация #ddl
-
Единое окно инженера данных: как мы построили веб-среду разработки для 12 000 потоков данных
Привет, Хабр! Меня зовут Никита Калганов, я ведущий системный инженер данных в X5 Tech. Мы с командой проектируем и развиваем высоконагруженную систему потоков данных и поддерживаем её в условиях постоянного роста, как по числу потоков, так и по количеству команд, которые с ней работают. В нашей системе обработки данных живёт больше двенадцати тысяч потоков данных, и их число растёт в среднем на несколько десятков в день. Всё нормально работает, но мы решили сделать её ещё лучше. В этой статье расскажу, как мы построили единое окно инженера данных, сделали собственный DDL-мигратор с поддержкой зависимостей и при этом сохранили то, что уже работает.
https://habr.com/ru/companies/X5Tech/articles/1026382/
#большие_данные #big_data #lakehouseплатформа_данных #data_pipelines #airflow #yaml #gitlab_cicd #микросервисная_архитектура #оркестрация #ddl
-
Не все RPS одинаково полезны: уроки нагрузочного тестирования core-системы
Когда мне пришла идея написать эту статью, я предполагала, что это будет хроника ошибок, от которых мы бы хотели предостеречь техническое сообщество: как мы наивно полагались на «синтетику», а «видовое многообразие» сервисов раскрыло нам глаза. Но по мере подготовки материала пришло осознание, что проблема не в том, что мы ошиблись в методике, а в том, что для core-системы, пропускающей сотни тысяч разнородных запросов в секунду, достичь точного воспроизведения боевой нагрузки практически невозможно. Под катом рассказ о том, как мы двигались от упрощенных моделей к глубокому изучению специфики поведения системы, а по пути осознали, что нужно не выбирать между крайностями, а комбинировать подходы и учитывать риски.
https://habr.com/ru/companies/alfa/articles/1018996/
#нагрузочное_тестирование #нагрузочные_тесты #шина #интеграция #микросервисная_архитектура #инфраструктура #отказоустойчивость #высоконагруженные_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Advisory Locks в PostgreSQL: блокировки уровня приложения, о которых мало кто знает
Привет, Хабр! PostgreSQL умеет блокировать строки ( SELECT ... FOR UPDATE ) и таблицы ( LOCK TABLE ). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру (атомарные блокировки с очередями ожидания), а семантику определяет приложение. Это значит: вы берёте блокировку по произвольному числовому ключу, и PostgreSQL гарантирует, что никто другой не возьмёт блокировку с тем же ключом одновременно. Никаких таблиц, строк или ресурсов БД не блокируется — это чисто логическая блокировка, видимая только тем, кто её проверяет. Звучит как-то абстрактно. Посмотрим на конкретные задачи, где advisory locks незаменимы.
https://habr.com/ru/companies/otus/articles/1015524/
#psql #advisory_locks #PostgreSQL_блокировки #блокировки_в_БД #конкурентный_доступ #идемпотентность #микросервисная_архитектура #распределённые_системы
-
Что общего у вина и ИТ?
Привет, Хабр! Я Полина, продакт платформы «Своё вино» в РСХБ. «Своё вино» — цифровая платформа, запущенная Россельхозбанком, медиаресурс, который объединяет производителей вина, потребителей, сомелье, критиков и всех любителей российского вина. В этой статье мы хотим немного развлечься и сравнить то, что любим и с чем работаем, а заодно раскроем мир виноделия с другой стороны.
https://habr.com/ru/companies/rshb/articles/1016940/
#ИТтермины #прод #баги #релиз #фреймворк #недекларированная_возможность #DevOps #кодревью #рефакторинг #микросервисная_архитектура
-
Что общего у вина и ИТ?
Привет, Хабр! Я Полина, продакт платформы «Своё вино» в РСХБ. «Своё вино» — цифровая платформа, запущенная Россельхозбанком, медиаресурс, который объединяет производителей вина, потребителей, сомелье, критиков и всех любителей российского вина. В этой статье мы хотим немного развлечься и сравнить то, что любим и с чем работаем, а заодно раскроем мир виноделия с другой стороны.
https://habr.com/ru/companies/rshb/articles/1016940/
#ИТтермины #прод #баги #релиз #фреймворк #недекларированная_возможность #DevOps #кодревью #рефакторинг #микросервисная_архитектура
-
Что общего у вина и ИТ?
Привет, Хабр! Я Полина, продакт платформы «Своё вино» в РСХБ. «Своё вино» — цифровая платформа, запущенная Россельхозбанком, медиаресурс, который объединяет производителей вина, потребителей, сомелье, критиков и всех любителей российского вина. В этой статье мы хотим немного развлечься и сравнить то, что любим и с чем работаем, а заодно раскроем мир виноделия с другой стороны.
https://habr.com/ru/companies/rshb/articles/1016940/
#ИТтермины #прод #баги #релиз #фреймворк #недекларированная_возможность #DevOps #кодревью #рефакторинг #микросервисная_архитектура
-
Что общего у вина и ИТ?
Привет, Хабр! Я Полина, продакт платформы «Своё вино» в РСХБ. «Своё вино» — цифровая платформа, запущенная Россельхозбанком, медиаресурс, который объединяет производителей вина, потребителей, сомелье, критиков и всех любителей российского вина. В этой статье мы хотим немного развлечься и сравнить то, что любим и с чем работаем, а заодно раскроем мир виноделия с другой стороны.
https://habr.com/ru/companies/rshb/articles/1016940/
#ИТтермины #прод #баги #релиз #фреймворк #недекларированная_возможность #DevOps #кодревью #рефакторинг #микросервисная_архитектура
-
Бизнес-логика первична, микросервисы — вторичны
Мы привыкли обсуждать микросервисную архитектуру с точки зрения границ сервисов, ответственности команд, масштабируемости и отказоустойчивости. Мы спорим о том, как правильно нарезать домен, где провести границы и какие сервисы должны взаимодействовать напрямую. Но есть более фундаментальный вопрос - кто в системе определяет правила игры? В реальных финтех-системах бизнес-логика часто начинает зависеть от того, как именно разложены микросервисы. Допустимость действий формируется не в одном месте, а распределяется по цепочке: - часть проверок живeт во фронтенде - часть - в API, - часть - в промежуточных сервисах - часть — во временных проверках, добавленных после инцидентов Добавили новый сервис в цепочку - и изменилось поведение. Вынесли проверку в отдельный процессинг - и появились состояние гонки. Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала. В этот момент происходит архитектурный перекос - не бизнес-процесс определяет систему, а структура сервисов начинает определять поведение процесса. Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре. Мы отвлекаем существенные ресурсы в поисках решения для проблем.
https://habr.com/ru/articles/1006458/
#микросервисная_архитектура #eventdriven #patterns #связность #архитектура_приложений #финтех #финансы #SDAP
-
Бизнес-логика первична, микросервисы — вторичны
Мы привыкли обсуждать микросервисную архитектуру с точки зрения границ сервисов, ответственности команд, масштабируемости и отказоустойчивости. Мы спорим о том, как правильно нарезать домен, где провести границы и какие сервисы должны взаимодействовать напрямую. Но есть более фундаментальный вопрос - кто в системе определяет правила игры? В реальных финтех-системах бизнес-логика часто начинает зависеть от того, как именно разложены микросервисы. Допустимость действий формируется не в одном месте, а распределяется по цепочке: - часть проверок живeт во фронтенде - часть - в API, - часть - в промежуточных сервисах - часть — во временных проверках, добавленных после инцидентов Добавили новый сервис в цепочку - и изменилось поведение. Вынесли проверку в отдельный процессинг - и появились состояние гонки. Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала. В этот момент происходит архитектурный перекос - не бизнес-процесс определяет систему, а структура сервисов начинает определять поведение процесса. Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре. Мы отвлекаем существенные ресурсы в поисках решения для проблем.
https://habr.com/ru/articles/1006458/
#микросервисная_архитектура #eventdriven #patterns #связность #архитектура_приложений #финтех #финансы #SDAP
-
Бизнес-логика первична, микросервисы — вторичны
Мы привыкли обсуждать микросервисную архитектуру с точки зрения границ сервисов, ответственности команд, масштабируемости и отказоустойчивости. Мы спорим о том, как правильно нарезать домен, где провести границы и какие сервисы должны взаимодействовать напрямую. Но есть более фундаментальный вопрос - кто в системе определяет правила игры? В реальных финтех-системах бизнес-логика часто начинает зависеть от того, как именно разложены микросервисы. Допустимость действий формируется не в одном месте, а распределяется по цепочке: - часть проверок живeт во фронтенде - часть - в API, - часть - в промежуточных сервисах - часть — во временных проверках, добавленных после инцидентов Добавили новый сервис в цепочку - и изменилось поведение. Вынесли проверку в отдельный процессинг - и появились состояние гонки. Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала. В этот момент происходит архитектурный перекос - не бизнес-процесс определяет систему, а структура сервисов начинает определять поведение процесса. Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре. Мы отвлекаем существенные ресурсы в поисках решения для проблем.
https://habr.com/ru/articles/1006458/
#микросервисная_архитектура #eventdriven #patterns #связность #архитектура_приложений #финтех #финансы #SDAP
-
Бизнес-логика первична, микросервисы — вторичны
Мы привыкли обсуждать микросервисную архитектуру с точки зрения границ сервисов, ответственности команд, масштабируемости и отказоустойчивости. Мы спорим о том, как правильно нарезать домен, где провести границы и какие сервисы должны взаимодействовать напрямую. Но есть более фундаментальный вопрос - кто в системе определяет правила игры? В реальных финтех-системах бизнес-логика часто начинает зависеть от того, как именно разложены микросервисы. Допустимость действий формируется не в одном месте, а распределяется по цепочке: - часть проверок живeт во фронтенде - часть - в API, - часть - в промежуточных сервисах - часть — во временных проверках, добавленных после инцидентов Добавили новый сервис в цепочку - и изменилось поведение. Вынесли проверку в отдельный процессинг - и появились состояние гонки. Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала. В этот момент происходит архитектурный перекос - не бизнес-процесс определяет систему, а структура сервисов начинает определять поведение процесса. Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре. Мы отвлекаем существенные ресурсы в поисках решения для проблем.
https://habr.com/ru/articles/1006458/
#микросервисная_архитектура #eventdriven #patterns #связность #архитектура_приложений #финтех #финансы #SDAP
-
Когда 200+ бэкенд-разработчиков меняют 400 микросервисов: зачем нужно архитектурное ревью
Что будет, если больше 200 бэкенд‑разработчиков вносят изменения 2–3 раза в неделю в более чем 400 микросервисов, написанных на пяти разных языках — C++, Go, Python, Java и PHP? Ответ хорошо знаком любому, кто сталкивался с быстрорастущей распределённой системой: хаос появляется быстрее, чем успеваешь его отлавливать. И в какой‑то момент становится очевидно, что нужна надёжная точка контроля, чтобы поддерживать архитектуру в рабочем состоянии. В Яндекс Еде этой точкой стало архитектурное ревью — процесс, который постепенно вырос из локальной инициативы в полноценный инструмент управления сложной системой. В этой статье я расскажу, как эволюционировало архревью, какие инсайты появились по пути и как этот процесс выглядит сегодня.
https://habr.com/ru/companies/yandex/articles/1003700/
#яндекс #анализ_и_проектирование_систем #ревью_архитектуры #микросервисная_архитектура #микросервисное_взаимодействие #бэкендразработка
-
Слоистая архитектура для людей
Для кого статья : для техлидов и системных аналитиков (SA), архитекторов ПО. О чём статья : об использовании некоторых удобных, современных подходов к проектированию ПО в enterprise в условиях большого количества команд и большой неопределенности. Об авторе : лид стрима в облачном провайдере, в 2024-2025 гг. с коллегами разрабатывавший подходы к архитектуре микросервисов. В условиях современной разработки, когда компании растут, а команды распределены по офисам и странам, классические подходы к проектированию часто становятся узким местом. Хаос в интеграциях, бесконечные согласования форматов данных и конфликты из-за изменений в API — это знакомые боли для многих архитекторов и тимлидов. Если вы тоже сталкивались с трудностями и конфликтами при разработке платформ с множеством микросервисов или хотите разрабатывать и не хотите сталкиваться – эта статья будет наверняка интересна.
https://habr.com/ru/articles/1000698/
#проектирование #контракты #api #openapi #asyncapi #hexagonal #слоистая_архитектура #ddd #микросервисы #микросервисная_архитектура
-
Слоистая архитектура для людей
Для кого статья : для техлидов и системных аналитиков (SA), архитекторов ПО. О чём статья : об использовании некоторых удобных, современных подходов к проектированию ПО в enterprise в условиях большого количества команд и большой неопределенности. Об авторе : лид стрима в облачном провайдере, в 2024-2025 гг. с коллегами разрабатывавший подходы к архитектуре микросервисов. В условиях современной разработки, когда компании растут, а команды распределены по офисам и странам, классические подходы к проектированию часто становятся узким местом. Хаос в интеграциях, бесконечные согласования форматов данных и конфликты из-за изменений в API — это знакомые боли для многих архитекторов и тимлидов. Если вы тоже сталкивались с трудностями и конфликтами при разработке платформ с множеством микросервисов или хотите разрабатывать и не хотите сталкиваться – эта статья будет наверняка интересна.
https://habr.com/ru/articles/1000698/
#проектирование #контракты #api #openapi #asyncapi #hexagonal #слоистая_архитектура #ddd #микросервисы #микросервисная_архитектура
-
Слоистая архитектура для людей
Для кого статья : для техлидов и системных аналитиков (SA), архитекторов ПО. О чём статья : об использовании некоторых удобных, современных подходов к проектированию ПО в enterprise в условиях большого количества команд и большой неопределенности. Об авторе : лид стрима в облачном провайдере, в 2024-2025 гг. с коллегами разрабатывавший подходы к архитектуре микросервисов. В условиях современной разработки, когда компании растут, а команды распределены по офисам и странам, классические подходы к проектированию часто становятся узким местом. Хаос в интеграциях, бесконечные согласования форматов данных и конфликты из-за изменений в API — это знакомые боли для многих архитекторов и тимлидов. Если вы тоже сталкивались с трудностями и конфликтами при разработке платформ с множеством микросервисов или хотите разрабатывать и не хотите сталкиваться – эта статья будет наверняка интересна.
https://habr.com/ru/articles/1000698/
#проектирование #контракты #api #openapi #asyncapi #hexagonal #слоистая_архитектура #ddd #микросервисы #микросервисная_архитектура
-
Слоистая архитектура для людей
Для кого статья : для техлидов и системных аналитиков (SA), архитекторов ПО. О чём статья : об использовании некоторых удобных, современных подходов к проектированию ПО в enterprise в условиях большого количества команд и большой неопределенности. Об авторе : лид стрима в облачном провайдере, в 2024-2025 гг. с коллегами разрабатывавший подходы к архитектуре микросервисов. В условиях современной разработки, когда компании растут, а команды распределены по офисам и странам, классические подходы к проектированию часто становятся узким местом. Хаос в интеграциях, бесконечные согласования форматов данных и конфликты из-за изменений в API — это знакомые боли для многих архитекторов и тимлидов. Если вы тоже сталкивались с трудностями и конфликтами при разработке платформ с множеством микросервисов или хотите разрабатывать и не хотите сталкиваться – эта статья будет наверняка интересна.
https://habr.com/ru/articles/1000698/
#проектирование #контракты #api #openapi #asyncapi #hexagonal #слоистая_архитектура #ddd #микросервисы #микросервисная_архитектура
-
Автономная ecom-платформа на смену SAP Hybris: как мы решали задачи «БИ-БИ» с помощью кастомной архитектуры
Как адаптировать архитектуру Enterprise-ритейла после ухода западных вендоров? На примере маркетплейса «БИ-БИ» разбираем, почему в условиях специфической бизнес-логики и высоких нагрузок кастомный подход может быть эффективнее коробочных решений. Рассказываем, как мы построили платформу на микросервисах (Laravel + Go), внедрили асинхронный обмен данными через Kafka и MongoDB и ускорили работу корзины с помощью горутин. Всем привет! Я – Владислав Кабаев, CPO в компании QSOFT, и я хочу рассказать, как мы разрабатывали автономную ecom-платформу на смену SAP Hybris для маркетплейса «БИ-БИ». До 2022 года российский Enterprise-ритейл во многом опирался на зарубежные решения: SAP Commerce Cloud (Hybris) и Salesforce Commerce Cloud (Demandware) были де-факто стандартом рынка. Их выбирали крупнейшие игроки — от Wildberries (использовавших SAP вместе со своей разработкой) до «Ситилинка». После ухода западных вендоров рынок начал активно перестраиваться. Часть компаний обратилась к отечественному ПО, выбирая решения под свои масштабы. Для сегмента среднего бизнеса ими стали популярные платформы вроде 1С-Битрикс или облачные сервисы типа inSales. Игроки покрупнее начали рассматривать более гибкие или специализированные системы, такие как Ensi, или внедрять розничные модули на базе CRM-систем. При миграции с SAP Hybris компании часто сталкиваются с тем, что стандартные рыночные решения требуют серьезной адаптации под Enterprise-процессы. Основной вызов здесь кроется не только в наборе функций, но и в самой архитектуре: многие продукты изначально проектировались как монолитные системы. Для крупного ритейла с его динамическими нагрузками и необходимостью постоянно кастомизировать узкие места такой подход может стать сдерживающим фактором.
https://habr.com/ru/companies/qsoft/articles/1000002/
#ecommerce #laravel #микросервисная_архитектура #go #kubernetes #1c #mongodb
-
Автономная ecom-платформа на смену SAP Hybris: как мы решали задачи «БИ-БИ» с помощью кастомной архитектуры
Как адаптировать архитектуру Enterprise-ритейла после ухода западных вендоров? На примере маркетплейса «БИ-БИ» разбираем, почему в условиях специфической бизнес-логики и высоких нагрузок кастомный подход может быть эффективнее коробочных решений. Рассказываем, как мы построили платформу на микросервисах (Laravel + Go), внедрили асинхронный обмен данными через Kafka и MongoDB и ускорили работу корзины с помощью горутин. Всем привет! Я – Владислав Кабаев, CPO в компании QSOFT, и я хочу рассказать, как мы разрабатывали автономную ecom-платформу на смену SAP Hybris для маркетплейса «БИ-БИ». До 2022 года российский Enterprise-ритейл во многом опирался на зарубежные решения: SAP Commerce Cloud (Hybris) и Salesforce Commerce Cloud (Demandware) были де-факто стандартом рынка. Их выбирали крупнейшие игроки — от Wildberries (использовавших SAP вместе со своей разработкой) до «Ситилинка». После ухода западных вендоров рынок начал активно перестраиваться. Часть компаний обратилась к отечественному ПО, выбирая решения под свои масштабы. Для сегмента среднего бизнеса ими стали популярные платформы вроде 1С-Битрикс или облачные сервисы типа inSales. Игроки покрупнее начали рассматривать более гибкие или специализированные системы, такие как Ensi, или внедрять розничные модули на базе CRM-систем. При миграции с SAP Hybris компании часто сталкиваются с тем, что стандартные рыночные решения требуют серьезной адаптации под Enterprise-процессы. Основной вызов здесь кроется не только в наборе функций, но и в самой архитектуре: многие продукты изначально проектировались как монолитные системы. Для крупного ритейла с его динамическими нагрузками и необходимостью постоянно кастомизировать узкие места такой подход может стать сдерживающим фактором.
https://habr.com/ru/articles/996948/
#laravel #ecommerce #маркетплейс #go #микросервисная_архитектура #1c #kubernetes
-
Паттерн Transactional Outbox — обеспечиваем консистентность между микросервисами на примере Java
Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox. В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе.
https://habr.com/ru/articles/996080/
#java #spring #микросервисы #микросервисная_архитектура #паттерны_проектирования #паттерн_стратегия #transactional_outbox #sql #postgresql #kafka
-
Паттерн Transactional Outbox — обеспечиваем консистентность между микросервисами на примере Java
Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox. В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе.
https://habr.com/ru/articles/996080/
#java #spring #микросервисы #микросервисная_архитектура #паттерны_проектирования #паттерн_стратегия #transactional_outbox #sql #postgresql #kafka
-
Паттерн Transactional Outbox — обеспечиваем консистентность между микросервисами на примере Java
Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox. В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе.
https://habr.com/ru/articles/996080/
#java #spring #микросервисы #микросервисная_архитектура #паттерны_проектирования #паттерн_стратегия #transactional_outbox #sql #postgresql #kafka
-
Паттерн Transactional Outbox — обеспечиваем консистентность между микросервисами на примере Java
Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox. В этой статье рассмотрим наиболее полную реализацию паттерна Transactional Outbox, которую можно будет легко расширять и применять в продакшне. Данная статья будет полезна как для разработчиков, которые еще не встречались с данным паттерном, так и тем, кто уже применял его в своей работе.
https://habr.com/ru/articles/996080/
#java #spring #микросервисы #микросервисная_архитектура #паттерны_проектирования #паттерн_стратегия #transactional_outbox #sql #postgresql #kafka
-
Как мы технически построили B2B SaaS-платформу: от требований и UI-прототипов до микросервисной архитектуры
Продолжение статьи о продуктовой гипотезе и дистрибуции. Здесь — только инженерная часть. Эта статья — инженерный рассказ о том, как из набора разрозненных back-office продуктов выросла единая B2B SaaS-платформа. Мы показываем путь от требований и прототипов до микросервисной архитектуры, объясняя не только что было сделано, но и почему именно так.
https://habr.com/ru/articles/992198/
#архитектура #saga #saas #платформа #схемы #микросервисы #микросервисная_архитектура #archimate #ui #figma
-
Как мы технически построили B2B SaaS-платформу: от требований и UI-прототипов до микросервисной архитектуры
Продолжение статьи о продуктовой гипотезе и дистрибуции. Здесь — только инженерная часть. Эта статья — инженерный рассказ о том, как из набора разрозненных back-office продуктов выросла единая B2B SaaS-платформа. Мы показываем путь от требований и прототипов до микросервисной архитектуры, объясняя не только что было сделано, но и почему именно так.
https://habr.com/ru/articles/992198/
#архитектура #saga #saas #платформа #схемы #микросервисы #микросервисная_архитектура #archimate #ui #figma
-
Как мы технически построили B2B SaaS-платформу: от требований и UI-прототипов до микросервисной архитектуры
Продолжение статьи о продуктовой гипотезе и дистрибуции. Здесь — только инженерная часть. Эта статья — инженерный рассказ о том, как из набора разрозненных back-office продуктов выросла единая B2B SaaS-платформа. Мы показываем путь от требований и прототипов до микросервисной архитектуры, объясняя не только что было сделано, но и почему именно так.
https://habr.com/ru/articles/992198/
#архитектура #saga #saas #платформа #схемы #микросервисы #микросервисная_архитектура #archimate #ui #figma
-
Как мы технически построили B2B SaaS-платформу: от требований и UI-прототипов до микросервисной архитектуры
Продолжение статьи о продуктовой гипотезе и дистрибуции. Здесь — только инженерная часть. Эта статья — инженерный рассказ о том, как из набора разрозненных back-office продуктов выросла единая B2B SaaS-платформа. Мы показываем путь от требований и прототипов до микросервисной архитектуры, объясняя не только что было сделано, но и почему именно так.
https://habr.com/ru/articles/992198/
#архитектура #saga #saas #платформа #схемы #микросервисы #микросервисная_архитектура #archimate #ui #figma
-
Идеальных систем не существует. Монолит, микросервисы и цена распределённости. CAP, ACID, BASE
Эта статья не про «правильную» архитектуру. Здесь я постарался ответить на вопросы «почему микросервисы дороже, какие компромиссы неизбежны и по каким критериям выбирать архитектуру?» Поговорим про высоконагруженные распределённые системы и почему монолиты — это не плохо. Также поговорим о необходимости рационального использования ресурсов и выборе типа архитектуры. Погрузиться
https://habr.com/ru/companies/domclick/articles/987690/
#CAP #ACID #BASE #микросервисы #монолит #архитектура #микросервисная_архитектура #согласованность_данных
-
[Перевод] Мультиагенты — это скрытые распределённые монолиты
Мультиагентные системы часто собирают по привычной схеме «оркестратор + набор независимых сервисов-агентов» — и довольно быстро приходят к распределённому монолиту. В статье разберем, почему при интерфейсе на естественном языке нельзя принудительно обеспечивать контракты как в API, из-за чего усложняются маршрутизация, изменения начинают каскадить, а общий контекст превращается в разделяемое состояние. И почему в такой ситуации иногда разумнее признать монолит — и управлять оркестрацией как единым целым. Открыть разбор
https://habr.com/ru/companies/otus/articles/986962/
#мультиагентные_системы #оркестрация_агентов #субагенты #распределённый_монолит #микросервисная_архитектура #микросервисы #маршрутизация_диалога #LLM #интеграционные_тесты
-
[Перевод] Мультиагенты — это скрытые распределённые монолиты
Мультиагентные системы часто собирают по привычной схеме «оркестратор + набор независимых сервисов-агентов» — и довольно быстро приходят к распределённому монолиту. В статье разберем, почему при интерфейсе на естественном языке нельзя принудительно обеспечивать контракты как в API, из-за чего усложняются маршрутизация, изменения начинают каскадить, а общий контекст превращается в разделяемое состояние. И почему в такой ситуации иногда разумнее признать монолит — и управлять оркестрацией как единым целым. Открыть разбор
https://habr.com/ru/companies/otus/articles/986962/
#мультиагентные_системы #оркестрация_агентов #субагенты #распределённый_монолит #микросервисная_архитектура #микросервисы #маршрутизация_диалога #LLM #интеграционные_тесты
-
[Перевод] Мультиагенты — это скрытые распределённые монолиты
Мультиагентные системы часто собирают по привычной схеме «оркестратор + набор независимых сервисов-агентов» — и довольно быстро приходят к распределённому монолиту. В статье разберем, почему при интерфейсе на естественном языке нельзя принудительно обеспечивать контракты как в API, из-за чего усложняются маршрутизация, изменения начинают каскадить, а общий контекст превращается в разделяемое состояние. И почему в такой ситуации иногда разумнее признать монолит — и управлять оркестрацией как единым целым. Открыть разбор
https://habr.com/ru/companies/otus/articles/986962/
#мультиагентные_системы #оркестрация_агентов #субагенты #распределённый_монолит #микросервисная_архитектура #микросервисы #маршрутизация_диалога #LLM #интеграционные_тесты
-
[Перевод] Мультиагенты — это скрытые распределённые монолиты
Мультиагентные системы часто собирают по привычной схеме «оркестратор + набор независимых сервисов-агентов» — и довольно быстро приходят к распределённому монолиту. В статье разберем, почему при интерфейсе на естественном языке нельзя принудительно обеспечивать контракты как в API, из-за чего усложняются маршрутизация, изменения начинают каскадить, а общий контекст превращается в разделяемое состояние. И почему в такой ситуации иногда разумнее признать монолит — и управлять оркестрацией как единым целым. Открыть разбор
https://habr.com/ru/companies/otus/articles/986962/
#мультиагентные_системы #оркестрация_агентов #субагенты #распределённый_монолит #микросервисная_архитектура #микросервисы #маршрутизация_диалога #LLM #интеграционные_тесты
-
Единый принцип деления в архитектуре
Когда я был разработчиком я задавался вопросами: как разделить код на классы? какие модули выделить? Когда я стал архитектором я задавался вопросами: зачем же мы наплодили 200 микросервисов? стоит ли выделять новый или пора объединять? Когда я стал руководителем я задавался вопросами: как разделить людей на команды разработки? стоит ли создавать новый отдел или расширить ответственность старого? И всё это хотелось сделать оптимальным эффективным образом. И я понял, что все эти вопросы сводятся к ряду единых принципов о том как делить , которые можно применять на любом уровне. И этим важным для себя осознанием, после 20 лет в разработке, я хочу поделиться.
https://habr.com/ru/articles/986164/
#оргструктура #микросервисная_архитектура #архитектура_по #solid #корпоративная_архитектура #структура_компании #структура_программы
-
Рецензия на книгу “Принципы модернизации программных архитектур”
« Принципы модернизации программных архитектур »— это действительно полезное руководство по современной архитектуре ПО, ориентированное на реальные случаи миграции монолитных систем в микросервисы и обратно. В одной книге собраны и объяснены все ключевые знания, включая решение архитектурных антипаттернов и советы по повышению качества инженерных решений. Книга подходит как для практикующих архитекторов, так и для разработчиков, стремящихся понять, почему архитектуры ломаются, Что делать? и Кто виноват? (и как это исправить).
https://habr.com/ru/companies/ssp-soft/articles/982936/
#монолиты #монолитная_архитектура #микросервисы #микросервисная_архитектура #переход_от_монолита #архитектура_приложений #архитектура_системы #архитектура_систем #архитектурные_паттерны #архитектура_по
-
Рецензия на книгу “Принципы модернизации программных архитектур”
« Принципы модернизации программных архитектур »— это действительно полезное руководство по современной архитектуре ПО, ориентированное на реальные случаи миграции монолитных систем в микросервисы и обратно. В одной книге собраны и объяснены все ключевые знания, включая решение архитектурных антипаттернов и советы по повышению качества инженерных решений. Книга подходит как для практикующих архитекторов, так и для разработчиков, стремящихся понять, почему архитектуры ломаются, Что делать? и Кто виноват? (и как это исправить).
https://habr.com/ru/companies/ssp-soft/articles/982936/
#монолиты #монолитная_архитектура #микросервисы #микросервисная_архитектура #переход_от_монолита #архитектура_приложений #архитектура_системы #архитектура_систем #архитектурные_паттерны #архитектура_по
-
Рецензия на книгу “Принципы модернизации программных архитектур”
« Принципы модернизации программных архитектур »— это действительно полезное руководство по современной архитектуре ПО, ориентированное на реальные случаи миграции монолитных систем в микросервисы и обратно. В одной книге собраны и объяснены все ключевые знания, включая решение архитектурных антипаттернов и советы по повышению качества инженерных решений. Книга подходит как для практикующих архитекторов, так и для разработчиков, стремящихся понять, почему архитектуры ломаются, Что делать? и Кто виноват? (и как это исправить).
https://habr.com/ru/companies/ssp-soft/articles/982936/
#монолиты #монолитная_архитектура #микросервисы #микросервисная_архитектура #переход_от_монолита #архитектура_приложений #архитектура_системы #архитектура_систем #архитектурные_паттерны #архитектура_по
-
Рецензия на книгу “Принципы модернизации программных архитектур”
« Принципы модернизации программных архитектур »— это действительно полезное руководство по современной архитектуре ПО, ориентированное на реальные случаи миграции монолитных систем в микросервисы и обратно. В одной книге собраны и объяснены все ключевые знания, включая решение архитектурных антипаттернов и советы по повышению качества инженерных решений. Книга подходит как для практикующих архитекторов, так и для разработчиков, стремящихся понять, почему архитектуры ломаются, Что делать? и Кто виноват? (и как это исправить).
https://habr.com/ru/companies/ssp-soft/articles/982936/
#монолиты #монолитная_архитектура #микросервисы #микросервисная_архитектура #переход_от_монолита #архитектура_приложений #архитектура_системы #архитектура_систем #архитектурные_паттерны #архитектура_по
-
[Перевод] Как измерять переход к Self-Contained Systems: фитнес-функции для архитектуры на 1000+ приложений
Про Self-Contained Systems часто говорят на уровне принципов: автономность, изоляция, отказоустойчивость. Но как понять, что эти идеи действительно работают в ландшафте из сотен и тысяч приложений, а не остаются красивыми словами в архитектурных гайдах? В статье показан практический подход, как превратить архитектурные принципы в ежедневные измеримые проверки и управлять трансформацией к SCS на уровне всей организации, опираясь на данные, а не на ощущения.
https://habr.com/ru/companies/otus/articles/982106/
#архитектура_ПО #масштабирование_систем #микросервисная_архитектура #платформенный_подход #отказоустойчивость #архитектурные_метрики
-
[Перевод] Настройка .NET Aspire с AWS и LocalStack
Разработка сервисов с интеграцией в AWS быстро упирается в компромиссы: либо работать с реальным облаком и платить за каждый эксперимент, либо замокать инфраструктуру и надеяться, что в продакшене всё «взлетит». В статье показано, как с помощью .NET Aspire и LocalStack выстроить полноценное локальное AWS-окружение — с S3, CDK и реальной оркестрацией — так, чтобы один и тот же код без условностей работал и локально, и в проде.
https://habr.com/ru/companies/otus/articles/980586/
#NET_Aspire #LocalStack #AWS #инфраструктура_как_код #микросервисная_архитектура #CloudFormation
-
[Перевод] Настройка .NET Aspire с AWS и LocalStack
Разработка сервисов с интеграцией в AWS быстро упирается в компромиссы: либо работать с реальным облаком и платить за каждый эксперимент, либо замокать инфраструктуру и надеяться, что в продакшене всё «взлетит». В статье показано, как с помощью .NET Aspire и LocalStack выстроить полноценное локальное AWS-окружение — с S3, CDK и реальной оркестрацией — так, чтобы один и тот же код без условностей работал и локально, и в проде.
https://habr.com/ru/companies/otus/articles/980586/
#NET_Aspire #LocalStack #AWS #инфраструктура_как_код #микросервисная_архитектура #CloudFormation
-
[Перевод] Настройка .NET Aspire с AWS и LocalStack
Разработка сервисов с интеграцией в AWS быстро упирается в компромиссы: либо работать с реальным облаком и платить за каждый эксперимент, либо замокать инфраструктуру и надеяться, что в продакшене всё «взлетит». В статье показано, как с помощью .NET Aspire и LocalStack выстроить полноценное локальное AWS-окружение — с S3, CDK и реальной оркестрацией — так, чтобы один и тот же код без условностей работал и локально, и в проде.
https://habr.com/ru/companies/otus/articles/980586/
#NET_Aspire #LocalStack #AWS #инфраструктура_как_код #микросервисная_архитектура #CloudFormation
-
[Перевод] Настройка .NET Aspire с AWS и LocalStack
Разработка сервисов с интеграцией в AWS быстро упирается в компромиссы: либо работать с реальным облаком и платить за каждый эксперимент, либо замокать инфраструктуру и надеяться, что в продакшене всё «взлетит». В статье показано, как с помощью .NET Aspire и LocalStack выстроить полноценное локальное AWS-окружение — с S3, CDK и реальной оркестрацией — так, чтобы один и тот же код без условностей работал и локально, и в проде.
https://habr.com/ru/companies/otus/articles/980586/
#NET_Aspire #LocalStack #AWS #инфраструктура_как_код #микросервисная_архитектура #CloudFormation
-
Как я навайбкодил сервис генерации диаграмм: 2 недели от идеи до реализации
За две недели я собрал бесплатный веб-сервис, который генерирует диаграммы по текстовому описанию — без ручного рисования и без мучений с кривыми картинками от ИИ. Ключевая идея: вместо генерации изображений — генерация PlantUML-кода, затем серверный рендеринг в PNG и выдача пользователю. В статье рассказываю, как я проектировал сущности и сервисы, строил микросервисную архитектуру с очередями, поднимал PlantUML-server и MinIO, настраивал мониторинг и деплой, а также танцы с бубнами вокруг локальной LLM — и как меня спас старый ноутбук с GPU. Отдельно — про боль вайбкодинга: где ИИ-агенты помогают, а где требуют жёсткого микроменеджмента и шаблонов промптов.
https://habr.com/ru/articles/980282/
#plantuml #вайбкодинг #проектирование #ииагенты #искусственный_интеллект #uml #llm #личный_опыт #микросервисная_архитектура #очередь_сообщений
-
Как Kubernetes стал дирижером UC-оркестра
Сегодня потребности бизнеса растут так стремительно, что решения для унифицированных коммуникаций (UC) просто не успевают за ними. Аплайнсы — выделенные «железки» под конкретную задачу — очевидно устарели: масштабировать их сложно, обновлять страшно, а добавление новых функций напоминает скорее тест на выносливость. Я Владимир Сергеев, руководитель практики UC и ПО для совместной работы в К2Тех. Регулярно я сталкиваюсь с тем, как очередной апдейт превращается в персональную головную боль для ИT-отдела. Решением, которое буквально спасло UC-инфраструктуру, стал Kubernetes. Теперь вместо тяжелых проприетарных коробок — легкие микросервисы. Вместо многочасовых простоев — обновления за минуты. Вместо страха перед будущим — быстрая реакция на любые бизнес-задачи. И никакого даунтайма для всей компании. Давайте погрузимся в детали этого перехода: от неповоротливых «кирпичей» к динамичным контейнерам. Разберемся, почему страдать от обновлений больше не нужно. И посмотрим, так ли все радужно на самом деле.
https://habr.com/ru/companies/k2tech/articles/976850/
#kubernetes #uc #контейнеры #унифицированные_коммуникации #коробочный_софт #микросервисная_архитектура
-
Кейс: как мы ускорили серверную часть мобильной игры в 2,5 раза и снизили расходы в 5 раз
Как ускорить серверную часть мобильной MMO-игры в 2,5 раза и при этом сократить инфраструктурные расходы в 5 раз? В этом кейсе рассказал опыт проекта The Firstborn: почему виртуальная машина перестала справляться с нагрузкой ещё до релиза, зачем мы отказались от геораспределённой базы данных, как выбор точки размещения повлиял на пинг по всему миру и почему переход на выделенный сервер с NVMe кардинально изменил стабильность, деплой и скорость серверного просчёта боёв.
https://habr.com/ru/articles/976448/
#серверная_оптимизация #высоконагруженные_системы #MMOэкономика #централизованная_база_данных #выделенный_сервер #NVMeдиски #микросервисная_архитектура #нагрузочное_тестирование #задержки_и_пинг #масштабирование_backend