Переход на Virtual Threads

В этом уроке мы проведем рефакторинг Orders Service и Menu Aggregate Service и переведем их с Spring WebFlux на Spring MVC с виртуальными потоками. Для взаимодействия с внешними системами будем использовать RestClient вместо неблокирующего WebClient, а для запросов в БД будет использоваться драйвер JDBC.

Рефакторинг Orders Service

  • Изменения в проекте
  • Разбор по пунктам всех изменений

Рефакторинг Menu Aggregate Service

  • Изменения в проекте
  • Structured Concurrency (JEP 505)
  • Сonfig Repository и Docker Deployment

Заключение

На этом урок подошел к концу. Мы перевели микросервисы на новый технологический стек, разобрались в том, как не потерять трассировку в Structured Concurrency. Для тех, кто не знаком с Virtual Threads, в статье Сравнение WebFlux vs Virtual Threads под нагрузкой автора курса на Хабр есть подробное описание того, как они работают под капотом.

Нагрузочное тестирование нашего микросервисного приложения из статьи - тема нашего заключительного занятия.

Занятие 16: Нагрузочное тестирование. Gatling