Какие ключевые источники информации о микросервисной архитектуре?

«Какие ключевые источники информации о микросервисной архитектуре?» — вопрос из категории Архитектура, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Микросервисная архитектура — обширная тема. Вот структурированный список авторитетных источников:

1. Книги (Фундамент)

  • Сэм Ньюман: "Building Microservices" (основы) и "Monolith to Microservices" (миграция).
  • Крис Ричардсон: "Microservices Patterns" — энциклопедия шаблонов для решения типовых проблем (декомпозиция, транзакции, запросы данных).

2. Блоги и Статьи (Актуальные практики)

  • Martin Fowler: Классические статьи "Microservices" и "Microservice Premium".
  • Документация ведущих фреймворков: Spring Cloud, Micronaut, Quarkus — для понимания технической реализации.
  • Официальная документация оркестраторов: Kubernetes, Docker Swarm.

3. Практика (Изучение на примерах)

  • Референсные проекты на GitHub: Например, Spring PetClinic в микросервисном стиле.
  • Туториалы от облачных провайдеров: AWS, Google Cloud, Azure по развертыванию и управлению микросервисами.

Практический пример минимального сервиса на Spring Boot:

@SpringBootApplication
@RestController
public class ProductService {
    @GetMapping("/products/{id}")
    public Product getProduct(@PathVariable String id) {
        // В реальности — запрос к БД или другому сервису
        return productRepository.findById(id)
                .orElseThrow(() -> new ProductNotFoundException(id));
    }
    // ... другие методы
}
// Каждый такой сервис — независимо развертываемый компонент.