TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1969 2.22K
Одна ключевая идея в Spring Boot, которая в 2025 отличает синьоров от staff/principal инженеров:

Большинство разработчиков думают, что Spring Boot это просто
@RestController + JPA.

Инженеры уровня staff и выше понимают, что настоящий переломный момент это относиться к потокам как к детали реализации, а не к ресурсу.

Virtual Threads (Project Loom) + Spring Boot 3 позволяют блокирующему коду масштабироваться лучше, чем это когда-либо делал реактивный стек.

Теперь не нужно выбирать упрощение или производительность. Можно иметь оба варианта сразу.

Один такой сдвиг в мышлении может поднять пропускную способность системы в 10 раз и вдвое снизить сложность.

@RestController
@RequestMapping("/api/orders")
class OrderController {

@Autowired JdbcTemplate jdbc; // Оставляй свой старый добрый блокирующий JDBC
@Autowired RestTemplate rest; // Оставляй привычный блокирующий RestTemplate
@Autowired EntityManager em; // Оставляй JPA/Hibernate в том виде, как привык

@GetMapping("/{id}")
public Order get(@PathVariable Long id) {
// 100% блокирующий код — читает БД, вызывает 3 downstream HTTP-сервиса
// Но благодаря виртуальным потокам один этот endpoint
// спокойно выдерживает 50k+ RPS на 2 vCPU при < 50 ms p99

var order = jdbc.queryForObject("SELECT * FROM orders WHERE id=?", Order.class, id);
var payment = rest.getForObject("http://payment/{id}", Payment.class, id);
var shipping = rest.getForObject("http://shipping/{id}", Shipping.class, id);

return order.withPayment(payment).withShipping(shipping);
}
}


👉 Java Portal
  • ❤ 3
  • 👍 3
  • 🤣 3
More from @java_iibrary
  1. Sep 28, 2026💡 Java: не создавайте ресурсоёмкие объекты, пока они действительно не понадобятся. ✅ Иниц…
  2. Sep 28, 2026Проблема в продакшене. Приложение зависло. Вы запускаете: jstack <pid> Через несколько сек…
  3. Sep 27, 2026Java-разработчики, CopyOnWriteArrayList создаёт копию всего внутреннего массива при каждом…
  4. Sep 27, 2026Java-разработчики, ConcurrentHashMap потокобезопасен. Но он не блокирует всю коллекцию при…
  5. Sep 26, 2026Во многих приложениях есть такой эндпоинт. Фронтенд удаляет JWT после того, как пользовате…
  6. Sep 26, 2026Java: используйте Deque вместо Stack для работы по принципу LIFO («последним пришёл — перв…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →