04 - Encoding and Evolution

Mục tiêu cần hiểu

  • Hiểu encoding/serialization là cầu nối giữa in-memory data và bytes.
  • Nắm trade-off JSON/XML/binary formats, Thrift, Protocol Buffers, Avro.
  • Hiểu backward compatibility, forward compatibility và modes of dataflow.

Định nghĩa quan trọng

  • Encoding:
  • Serialization:
  • Backward compatibility:
  • Forward compatibility:
  • RPC:
  • Message-passing dataflow:

Mental model

Schema thay đổi theo thời gian
-> service/database/message vẫn phải đọc được dữ liệu cũ và mới
-> compatibility quyết định hệ có deploy rolling/independent được không

Câu hỏi review

  • Backward compatibility và forward compatibility khác nhau thế nào?
  • Vì sao binary schema formats có thể vừa compact vừa type-safe hơn JSON/XML?
  • Database, service, message queue tạo dataflow khác nhau ra sao?

Liên kết