在使用新服务(例如非 RDBMS 数据存储或消息队列)时,我首先想到的事情之一是:“我应该如何构造我的数据?”。
我已经阅读并观看了一些介绍性材料。特别是,以Kafka:一个用于日志处理的分布式消息传递系统为例,它写道:
- “主题是与消息关联的容器”
- “并行度的最小单位是主题的分区。这意味着......属于某个主题的特定分区的所有消息都将被消费者组中的消费者消费。”
知道了这一点,什么是说明如何使用主题和分区的好例子?什么时候应该成为话题?什么时候应该是一个分区?
例如,假设我的 (Clojure) 数据如下所示:
{:user-id 101 :viewed "/page1.html" :at #inst "2013-04-12T23:20:50.22Z"}
{:user-id 102 :viewed "/page2.html" :at #inst "2013-04-12T23:20:55.50Z"}
主题应该基于user-id
? viewed
? at
? 分区呢?
我该如何决定?