A
Android разработка
@android_its
02.03.2026 13:07
🚀 Ускоряем Spring Boot без изменения кода

Многие приложения тормозят не из-за бизнес-логики, а из-за логирования.
Каждый лог - это I/O операция. При высокой нагрузке это становится узким местом.

Решение - асинхронное логирование через Logback.

Что происходит:
- сообщения складываются в очередь
- отдельный поток обрабатывает их в фоне
- основной поток не блокируется
- меньше задержек и выше throughput

Настройка проста - добавьте logback-spring.xml в:
src/main/resources/

Пример конфигурации:


<configuration>

<!-- Async wrapper -->
<appender name="ASYNC_CONSOLE"
class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="CONSOLE"/>
<queueSize>5000</queueSize>
<discardingThreshold>0</discardingThreshold>
<includeCallerData>false</includeCallerData>
</appender>

<!-- Console appender -->
<appender name="CONSOLE"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger - %msg%n
</pattern>
</encoder>
</appender>

<root level="INFO">
<appender-ref ref="ASYNC_CONSOLE"/>
</root>

</configuration>


Когда это особенно полезно:

• high-load сервисы
• микросервисы с большим количеством логов
• API с высокой RPS
• продакшен-окружение

⚠️ Важно: при аварийном завершении часть логов из очереди может потеряться. Для критичных логов используйте файл + async.

Маленькая настройка - большой прирост производительности.

#SpringBoot #Java #Backend #Performance
1 6 1.4K

Обсуждение 1

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram