云原生开发入门指南
1. 事件结构与分区键选择
在云原生开发中,事件的结构设计至关重要。一个典型的事件包含以下几个关键部分:
- type :描述事件的类型,例如 thing-created 。
- timestamp :一个时间戳,通常是 Date.now() 返回的纪元值。
- id :应该是一个基于时间的 V1 UUID。
- partitionKey :应该是一个基于随机数的 V4 UUID。
- tags :一个有用的数据值哈希映射,用于基于内容的路由和聚合事件指标。
使用 V4 UUID 作为 partitionKey 非常重要,这样可以避免热点分片并最大化并发。如果使用 V1 UUID,同一时间生成的所有事件都会进入同一个分片。通常, partitionKey 是产生事件的域实体的 ID,出于同样的原因,也应该使用 V4 UUID。这样做还有一个额外的好处,即确保同一域实体的所有事件按接收顺序通过同一个分片进行处理。
2. 创建流处理器
流处理器在云原生服务中承担着大部分的工作。自主云原生服务通过事件流异步执行所有服务间通信,以实现上游服务与下游服务的解耦。上游服务将事件发布到流中,而无需了解最终会消费这些事件的具体下游服务。下游服务部署流处理函数来消费感兴趣的事件。
2.1 准备工作
在开始之前,你
云原生开发入门:技术与趋势
超级会员免费看
订阅专栏 解锁全文
50

被折叠的 条评论
为什么被折叠?



