Forward compatibility

Создание событийно-управляемых микросервисов - Глава 3 - Обмен информацией и контракты на передачу данных

Создание событийно-управляемых микросервисов - Глава 3 - Обмен информацией и контракты на передачу данных

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

Высоконагруженные приложения - Глава 4 - Кодирование и эволюция

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 4: Что такое эволюционируемость. Обратная и прямая совместимость Подходы к кодированию данных: JSON, XML и их двоичные варианты Thrift и Protobuf Apache Avro Модели работы с потоком данных Через базы данных Через сервисы: REST, SOAP, RPC и их будущее развитие Через брокеры сообщений - когда они лучше, а когда нет Намного больше деталей в майнд-мапе: