数据编码与演化
模式演化要保证:
- 向后兼容 较新的代码可以读取旧代码编写的数据
- 向前兼容 较旧的代码可以读取较新代码编写的数据
数据编码格式⌗
语言特定格式⌗
- Python pickle
- Java java.io.Serializable
- Ruby Marshal
JSON、XML与二进制变体⌗
二进制变体
- Message Pack:二进制的 JSON
Thrift 与 Protocol Buffers⌗
Avro⌗
数据流模式⌗
基于数据库的数据流⌗
不同是写写入不同的值⌗
归档存储⌗
基于服务的数据流:REST 和 RPC⌗
RPC 的问题⌗
给人一种本地调用的错觉,却需要面临网络的不确定性:延迟和超时。