Создание событийно-управляемых микросервисов - Глава 3 - Обмен информацией и контракты на передачу данных
Управляемая событиями модель, сильно зависит от КАЧЕСТВА событий.
События хорошего качества:
- явно определены через контракты
- содержат комментарии
- поддерживают эволюцию с обратной и прямой совместимостью
- поддерживают генерацию кода
- ломающие изменения хорошо продуманы
События хорошего качества реализуются с помощью правильных инструментов:
- используйте форматы Avro/Thrift/Protobuf и никогда не используйте JSON!
- используйте правильный брокер событий (например, Pulsar)
События хорошего качества проектируются так, чтобы:
- содержать всю информацию, необходимую потребителям
- использовать отдельные потоки для каждого типа событий
- использовать правильные типы данных для своих полей (не используйте строки для чисел, используйте перечисления и т.д.)
- не используйте поле задающее тип данных и другие поля на его основе
- быть как можно меньше в размерах
- учитывать требования потребителей
- не быть просто сигналами, а содержать всю информацию, необходимую потребителям
Эти темы раскрыты в главе 3 книги, которую мы сейчас изучаем: