基于 Storm 实现 GitHub 提交计数仪表盘
1. 核心概念
在 Storm 中,每个 Bolt 实例都有自己的电子邮件/提交计数对的映射。为了确保每个电子邮件的计数在所有 Bolt 实例中准确无误,相同的电子邮件必须发送到同一个 Bolt 实例。这正是字段分组(fields grouping)的作用。
1.1 字段分组示例
假设我们有以下电子邮件:
- [email=”nathan@example.com”]
- [email=”andy@example.com”]
- [email=”jackson@example.com”]
在这个例子中,值为 nathan@example.com 的元组将始终发送到同一个 Bolt 实例。这意味着只有一个内存映射会有一个以 nathan@example.com 为键的条目,从而得到准确的提交计数。字段分组是为电子邮件字段定义的。
1.2 内存映射与字段分组
在这个示例中,使用内存映射来实现电子邮件计数导致了对字段分组的需求。我们也可以使用跨 Bolt 实例共享的资源来消除这种需求。
2. 实现 GitHub 提交计数仪表盘
2.1 设置 Storm 项目
使用 Apache Maven 是将 Storm JAR 文件添加到开发类路径的最简单方法。可以在
超级会员免费看
订阅专栏 解锁全文
968

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



