第6章 集成Storm与数据源

在本章,我们将数据源与Storm分布式计算引擎进行集成,涉及将流数据的源连接到RabbitMQ之类的代理服务,然后将流管道连接到Storm。有一个非常有趣的传感器数据案例,它从免费的实时传感器数据通道采集实时数据并使用流式传输,然后将其推送到RabbitMQ,然后将其推送到Storm拓扑以进行业务分析。

本章主要包括以下内容

  • RabbitMQ有效的消息传递
  • RabbitMQ交换器
  • RabbitMQ安装配置
  • RabbitMQ的发布和订阅
  • RabbitMQ与Storm集成
  • PubNub数据流发布者
  • 传感器数据处理拓扑

RabbitMQ是Storm生产实现中最受欢迎的代理/队列服务之一,是一个非常健壮和通用的消息传递系统,支持开源和所有主流商业操作系统。队列具有持久化配置和在内存配置两种方式,因此开发人员可以灵活地在可靠性和性能之间做出权衡。

以下是在RabbitMQ或其他队列系统中经常使用的几个术语。

  • 生产者(Producer)/发布者(Publisher):是将消息写入或发送到队列的客户端组件。
  • 队列(Queue:存储消息的内存缓冲区,是消息被发送到队列的时间到消费者应用程序从队列中读取消息的时间。
  • 消费者(Consumer/订阅者(subscriber:是接收或读取队列中消息的客户端组件。

RabbitMQ的生产者/发布者从未向队列发布任何消息,实际上是将消息写入RabbitMQ交换器,而交换器又根据交换类型和路由密钥进一步将消息推送到队列中。

RabbitMQ具有多功能,提供了多种交换器,以供开发人员使用,来解决开发过程中遇到的各种问题。

Get 实时数据处理和分析指南 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.