Создание событийно-управляемых микросервисов - Глава 3 - Обмен информацией и контракты на передачу данных
Управляемая событиями модель, сильно зависит от КАЧЕСТВА событий.
События хорошего качества:
- явно определены через контракты
- содержат комментарии
- поддерживают эволюцию с обратной и прямой совместимостью
- поддерживают генерацию кода
- ломающие изменения хорошо продуманы
События хорошего качества реализуются с помощью правильных инструментов:
- используйте форматы Avro/Thrift/Protobuf и никогда не используйте JSON!
- используйте правильный брокер событий (например, Pulsar)
События хорошего качества проектируются так, чтобы:
- содержать всю информацию, необходимую потребителям
- использовать отдельные потоки для каждого типа событий
- использовать правильные типы данных для своих полей (не используйте строки для чисел, используйте перечисления и т.д.)
- не используйте поле задающее тип данных и другие поля на его основе
- быть как можно меньше в размерах
- учитывать требования потребителей
- не быть просто сигналами, а содержать всю информацию, необходимую потребителям
Эти темы раскрыты в главе 3 книги, которую мы сейчас изучаем:
“Создание событийно-управляемых микросервисов” Адама Беллемара. Оригинал: “Building Event-Driven Microservices: Leveraging Organizational Data at Scale” by Adam Bellemare
Делюсь своей ментальной картой со всеми подробностями, как обычно:
Смотрите также:
- Высоконагруженные приложения - Глава 4 - Кодирование и эволюция
- Создание событийно-управляемых микросервисов - Глава 14 - Вспомогательные инструменты
- Создание событийно-управляемых микросервисов - Глава 1 - Почему именно событийно-управляемые микросервисы
- Создание событийно-управляемых микросервисов - Глава 5 - Основы событийно-управляемой обработки
- Создание событийно-управляемых микросервисов - Глава 16 - Развертывание событийно-управляемых микросервисов