项目架构 基本要求 主题相关的WebAPP 1个首页和若干功能页面 有生成数据的能力(实际展示的时候,为了有更多丰富的数据, 允许使用脚本生成假数据) KafkaProducer 直接将需要采集的信息发送到Storm 分析结果的图表展示 echarts, 或者其他图表库 Jquery的ajax库 json 其他要求: 参照Alibaba的Java开发手册的规约 代码中适当添加注释 部署到服务器(虚拟机或者购买的服务器) JavaWeb程序需... ... [查看更多]
Views: 395
项目架构 基本要求 主题相关的WebAPP 1个首页和若干功能页面 有生成数据的能力(实际展示的时候,为了有更多丰富的数据, 允许使用脚本生成假数据) KafkaProducer 直接将需要采集的信息发送到Storm 分析结果的图表展示 echarts, 或者其他图表库 Jquery的ajax库 json 其他要求: 参照Alibaba的Java开发手册的规约 代码中适当添加注释 部署到服务器(虚拟机或者购买的服务器) JavaWeb程序需... ... [查看更多]
Views: 395
官方文档: Storm/Trident 集成 Redis Storm-redis 使用 Jedis 作为 Redis client. maven 依赖配置如下: 一般情况 storm-redis提供的三种基本的bolt实现: RedisLookupBolt 通过 key 从 redis 获取对应的 value RedisStoreBolt 存储 key / value 到 Redis RedisFilterBolt 用于过滤key或者field在 Redis 中不存在的 tupl... ... [查看更多]
Views: 195
为什么使用Trident 逐个处理单个tuple会增加很多开销,因此storm中引入Trident实现batch处理. Trident优点是: 批次处理消息 减少持久化的开销 结合Trident State能可靠保证每个消息只被处理一次 Trident的 State Trident 在进行聚合操作时需要缓存中间结果, 可以看做Trident的状态(State). Trident状态既可以保留在topology的内部,比如说内存中,也可以放到外部存储当中,比如说Memcached或... ... [查看更多]
Views: 598
需求 针对twitter网站上的一篇推文的接触用户(也叫REACH值)进行统计。 Reach值让你了解推文的真实覆盖到的用户群体, 要计算一个推文URL的Reach值,需要以下4步: 根据推文的URL查询数据库获取全部直接接触用户(转发的用户) 再根据接触用户通过查询数据库获取每个用户的全部粉丝 对粉丝集合中的用户进行去重处理 最后统计去重后的用户数, 即这个推文的Reach值 拓扑定义 一个单独的Reach计算在计算期间可能涉及到数千次数据库访问和数千万的粉丝记录查询,可能是一... ... [查看更多]
Views: 340
分布式远程过程调用 所谓过程调用就是指方法调用, 讲解分布式远程过程调用前先看一看什么是普通方法调用和远程过程调用. 普通方法调用 以一个普通Java类中的方法为例: 远程过程调用 RPC = Remote Procedure Call(远程过程调用) RPC即在一台机器以远程的方式调用另外一台机器中的应用中的功能(方法或函数) Storm中使用的Thrift就是一个RPC框架, Thrift由C++编写,但可以支持很多语言。要创建一个Thrift服务,必须写一些Thrif... ... [查看更多]
Views: 382