以集成Redis为例来讲解Storm与外部系统,以及其它库的集成

一、介绍

我们先看下官网上的介绍:storm官方已经给我们封装了以下外部系统的集成,我们直接引用相关jar包,即可使用

http://storm.apache.org/releases/1.1.2/index.html

Apache Kafka 集成, 新的 Kafka Consumer(消费者)集成Apache HBase 集成Apache HDFS 集成Apache Hive 集成Apache Solr 集成Apache Cassandra 集成JDBC 集成JMS 集成Redis 集成Event Hubs 集成Elasticsearch 集成MQTT 集成Mongodb 集成OpenTSDB 集成Kinesis 集成Druid 集成Kestrel 集成

核心本质:上面虽然列了这么多的外部系统集成,但是内部原理其实是一样的,就是一些封装了特定功能的普通bolt,和我们自己写的bolt本质上其实是一样的,可能我们自己写的没有官方写的好,所以这里,我们仅讲一个集成案例就可以了,掌握了一个,就基本掌握了所有外部系统的集成,你自己再探索其他的系统集成,那也是信手沾来的事情。

二、Storm集成Redis实战案例演练

1、环境介绍

代码下载地址:

https://gitee.com/jikeh/JiKeHCN-RELEASE.git

项目名:

spring-boot-storm-other-example

参考实例:其实我们下载的storm安装文件里面,已经给我们了集成案例了,我这里只是做了些精简,只保留了常用的一些功能。

目录位置:\apache-storm-1.1.2\examples\storm-redis-examples

2、与redis相关的三类bolt

查询bolt:RedisLookupBolt存储bolt:RedisStoreBolt过滤bolt:RedisFilterBolt

我们看其源码,这三个bolt都是继承了BaseRichBolt。

RedisLookupBolt/RedisStoreBolt/RedisFilterBolt >> BaseRichBolt

总结,storm-redis帮我们封装了一个bolt用于redis操作,我们不用自己写了,直接引入jar包,直接拿来使用就可以了

3、引入依赖

<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-redis</artifactId> <version>${storm.version}</version> </dependency>

4、启动redis

Windows下安装/启动redis

Windows下安装使用redis

Linux下安装/启动redis

redis的安装

redis客户端的安装/使用

redis客户端 可视化界面

5、Strom拓扑流程图

功能:从redis中查询单词的出现次数

topology主类:LookupWordCount

wordSpout -> lookupBolt -> printBolt

单词数据源 -> 从redis查询单词次数 -> 打印结果

6、在本地运行我们的storm作业

springboot项目,直接右键运行LookupWordCount主类就可以了

注释:我们这里仅讲了RedisLookupBolt的使用,其它就不介绍了,很简单!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片