Опишите реальные синхронные и асинхронные связи сервисов: какие операции шли по HTTP/gRPC, какие через брокер и почему. Важны контракты, владелец данных и обработка отказов.
Оцените готовность по пониманию контрактов, запросов и целостности данных, а не привязанности к ORM. Уточните, какие гарантии дают API и метаописания, а какие придётся реализовывать в приложении.
При независимых данных сервисов нет обычной локальной транзакции на весь бизнес-процесс. Нужно явно выбирать границы атомарности, допустимую задержку согласования и поведение при частичном отказе.
Поддерживайте скользящее окно с максимум одним нулём. Его длина минус один — кандидат ответа, поскольку удалить нужно ровно один элемент, даже если все элементы окна равны единице.
Да, но модульность сама по себе не делает переход бесплатным. При выделении сервисов появляются сетевые отказы и раздельные данные, при обратном объединении нужно согласовать контракты и жизненные циклы.
Наиболее прямой следующий шаг — проверить фильтры, сортировку, селективность и подобрать индекс по плану. Сам по себе Seq Scan не доказывает, что нужен любой индекс.
Наиболее зрелый первый шаг — снять трассировку, найти запросы и затем настроить выборочную загрузку связей. Число 35 само по себе ещё не объясняет причину задержки.
Сервис извлекает traceparent из входящего запроса, создаёт дочерний span и передаёт контекст следующему сервису. Так участки одного запроса связываются общим trace ID.
C-расширение — нативный модуль, работающий с объектами Python через C API. Старый код часто полагается на GIL как защиту общего состояния, поэтому отключение GIL требует аудита и синхронизации.
Опишите фактический конвейер: проверка профиля, формирование признаков, вызов правил или модели, преобразование score в решение и сохранение результата с версией расчёта.
Для защиты от replay связывают подпись с содержимым запроса, временем и уникальным nonce, а использованные nonce атомарно запоминают на ограниченный срок. TLS сам по себе не решает повтор украденного запроса.
Такую структуру можно использовать для слоистой архитектуры: api — HTTP, application — сценарии, domain — бизнес-правила, inf — адаптеры БД, очередей, кеша и внешних API.