Сделай ЭТОТ ПЕТ-ПРОЕКТ на Java
Павел Сорокин
0:00 / 0:00
Сделай ЭТОТ ПЕТ-ПРОЕКТ на Java
9 653 просмотра · 5 мес. назад
Павел Сорокин
10,9 тыс. подписчиков
9 653 просмотра · 5 мес. назад
БЕСПЛАТНО забирай «Пошаговый RoadMap из 11 шагов к ЗП 200.000» - https://t.me/JavaLearnBot?start=c1766...
📌А если хочешь уметь писать современный Java Backend на уровне миддл-разработчика и стать им - жду на курсе по Java Backend: https://sorokin.school/javabackend/?u...
Сегодня собираем мини-платежную систему на Java и на одном проекте связываем вещи, которые в большинстве гайдов обычно разбирают по кускам: HTTP API, PostgreSQL, Hibernate, миграции, Redis, Kafka, обработку ошибок и базовую защиту от дублей.
Это разбор backend-сервиса в том виде, в котором технологии действительно работают вместе, а не существуют отдельно друг от друга на слайдах или в коротких демках.
Будет полезно, если ты уже писал простые CRUD-сервисы на Spring, но хочешь наконец увидеть, как выглядит проект ближе к реальной разработке. И особенно, если готовишься к собеседованиям и хочешь нормально уложить в голове N+1, кэширование, брокеры сообщений, API-контракты и идемпотентность.
Тщательно разберем:
• как устроить HTTP API для создания, подтверждения и чтения платежей;
• валидацию запросов и нормальную обработку ошибок через Spring;
• Hibernate, ORM-разрыв, проблему N+1 и как её исправлять;
• миграции схемы базы через Liquibase;
• кэширование платежей в Redis по паттерну cache-aside;
• отправку событий в Kafka, аудит-сервис и идемпотентную обработку дублей.
Какие технологии тебя ждут в проекте: Java, Spring Boot, PostgreSQL, Hibernate, Liquibase, Redis, Kafka, Swagger, Docker Compose
📌 Больше материалов по Java Backend и архитектуре в моём Telegram-канале: https://t.me/S0R0KlN
00:00:00 — Почему одного Spring уже недостаточно для реальной backend-разработки
00:04:04 — Архитектура mini payment system: сервисы, Postgres, Kafka и audit-service
00:06:43 — HTTP, контракты API и структура payment-сервиса
00:14:18 — Тестируем API через Swagger: создание, получение и подтверждение платежа
00:17:23 — Невалидные данные и неправильные HTTP-статусы
00:19:06 — Добавляем валидацию, business rules и exception handler
00:30:36 — База данных, Hibernate, ORM и проблема N+1
00:42:25 — Ловим N+1 в логах и чиним через join fetch / entity graph
00:46:04 — Зачем нужны миграции и как это решается через Liquibase
00:49:52 — Redis cache-aside: кэширование платежей и инвалидация кэша
01:07:21 — Kafka, audit-service и идемпотентная обработка дублей
01:28:57 — Что в итоге получилось
#java #springboot #javabackend #backend #hibernate #postgresql #redis #kafka #liquibase #systemdesign