打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
实时数据收集解决方案

随着公司业务发展,各条业务线对数据收集的实时性要求日益增加,为解决该问题,泰然鲸数云计算团队提供了两种数据收集的解决方案。

1、基于日志级别的实时数据收集,使用RabbitMQ(消息队列)、Flume(日志收集)、Elasticsearch + Kibana(数据索引+数据展示)和HDFS(云存储)的实时存储与可视化解决方案;

2、基于业务数据,尤其是爬虫数据的收集和处理,采用Thrift RPC (远程过程调用协议)+Kafka(分布式发布订阅消息系统)和 Spark Streaming(实时数据处理)的实时计算解决方案。

方案一

实时数据存储与可视化解决方案,MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。RabbitMQ支持消息的持久化,保证消息顺序、保证数据不丢失,同时支持多个队列,满足多业务线需求。业务团队在代码架构中将业务日志或服务器日志以Json格式推送到RabbitMQ集群,数据收集团队通过Flume读取RabbitMQ的消息,并将消息转发给Elasticsearch集群与Hadoop集群,在Elasticsearch中,通过对每条消息建立索引,通过倒排索引的技术,能够支持快速查询每条消息,满足技术人员对于日志的分析,同时可以通过Kibana工具对索引数据进行可视化分析。于此同时,同样的数据将持久化保存在HDFS文件系统中进行备份,保证数据不丢失。该方案解决了泰然城的业务线以及门道的日志收集需求,同时提供一部分能力用于大屏数据实时展示。该方案能够提供秒级数据可视化展示,极大的解决了业务中遇到的对于日志分析的需求。具体的架构如图1所示:

图1

日志实时入库情况如图2所示,满足实时查询需求。

图2

方案二

实时数据计算解决方案。针对爬虫团队的网络授权数据抓取,我们提供了自主开发的一套基于RPC的远程过程调用接口,通过向开发团队提供开发工具包,对方在实时抓取数据后只需调用一个接口,该方案首先将数据保存在临时文件中,然后通过扫描临时文件,将增量数据通过RCP客户端发送到远程RPC服务端,我方在接收到数据后,将数据转发到实时消息队列Kafka中,所有消息都将通过Kafka进行保存,最后启动相对应的Spark Streaming对每条数据进行实时处理、分析,并提供相关反馈。方案二架构如图3所示:

图3

以上就是鲸数小宝跟大家分享的关于实时数据收集解决方案的知识,希望对大家有所帮助哦!!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
日志系统架构介绍(非原创)
开源数据同步神器--canal
消息队列全面了解(二)
Rabbitmq六大应用模式
.Net下RabbitMQ的使用(8) -- 远程过程调用RPC
消息队列三剑客:RabbitMQ、RocketMQ、Kafka全面对决
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服