Разрабатывали ли вы и разворачивали свой микросервис с нуля?

Ответ

Да, разрабатывал и разворачивал микросервис для управления заказами на Spring Boot.

Стек технологий:

  • Бэкенд: Spring Boot, Spring Web (REST), Spring Data JPA, Spring Security.
  • База данных: PostgreSQL.
  • Деплой: Docker, AWS EC2.
  • Инфраструктура: Nginx (reverse proxy, SSL), GitHub Actions (CI/CD).

Пример ключевого REST-эндпоинта:

@RestController
@RequestMapping("/api/orders")
@RequiredArgsConstructor // Lombok для инъекции зависимости
public class OrderController {
    private final OrderService orderService;

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public OrderDto createOrder(@Valid @RequestBody CreateOrderRequest request) {
        return orderService.create(request);
    }

    @GetMapping("/{id}")
    public OrderDto getOrder(@PathVariable Long id) {
        return orderService.findById(id);
    }
}

Конвейер развертывания (CI/CD):

  1. Пуш в ветку main → запуск GitHub Actions.
  2. Сборка JAR-файла (Maven) и Docker-образа.
  3. Пуш образа в Docker Hub/Amazon ECR.
  4. SSH-подключение к EC2, обновление контейнера через docker-compose pull && docker-compose up -d.

Итог: Полный цикл от кода до работающего в облаке сервиса с автоматическим деплоем.