fix: устойчивость Redis-кластера под нагрузкой и код-ревью замечания
Redis timeout 200ms давал ложные срабатывания под пиковой нагрузкой на общем хосте — подняли до 800ms и добавили cpu/mem лимиты сервисам в compose, чтобы соседи не выедали CPU у Redis. Добавили метрику и WARN на случай, когда демаскирование не находит соответствие ни по id, ни по отпечатку маски (раньше тихо превращалось в повторное маскирование без единого следа в логах). Кластерные узлы (node-a/node-b) получили обе NER-модели (WikiNEuRal для имён, ruBERT для адресов) — раньше конфиг ссылался на несуществующие свойства и вторая ступень молча не работала. lb (nginx) и volume для prometheus/grafana данных зафиксированы в compose. Плюс код-ревью фиксы: утечка нативных ONNX-ресурсов при ошибке загрузки модели (BLOCKER), неверный HTTP-статус при сбое обработки, generic Exception в LlmClient заменён на конкретные, лишние same-package импорты убраны.
This commit is contained in:
@@ -125,7 +125,8 @@ public class ProcessResource {
|
||||
failed.increment();
|
||||
LOG.error("payload_id={} обработка не удалась, отдан безопасный ответ",
|
||||
request.payloadId(), e);
|
||||
return ResponseEntity.ok(new ProcessResponse(PROCESSING_UNAVAILABLE));
|
||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
|
||||
.body(new ProcessResponse(PROCESSING_UNAVAILABLE));
|
||||
} finally {
|
||||
limiter.release(System.nanoTime() - started);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user