一、介紹
我們先看下官網上的介紹: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
- Linux下安裝/啟動redis
- redis客戶端的安裝/使用
5、Strom拓撲流程圖
功能:從redis中查詢單詞的出現次數
topology主類:LookupWordCount
wordSpout -> lookupBolt -> printBolt
單詞數據源 -> 從redis查詢單詞次數 -> 打印結果
6、在本地運行我們的storm作業
springboot項目,直接右鍵運行LookupWordCount主類就可以了
註釋:我們這裡僅講了RedisLookupBolt的使用,其它就不介紹了,很簡單!!!
閱讀更多 極客慧 的文章