Loading
0

GetInsight组件技术及功能(二):分布式消息系统和流处理框架

GetInsight是慧都自主研发、应用最灵活的大数据平台。能够帮助您随时找到您想要的数据,使数据得到安全、稳定和高效的管理与应用。GetInsight是企业大数据解决方案的重要组成部分,除了提供完整的大数据功能组件,我们还提供组件自定义搭配,为企业选择满足方案需要的大数据功能组件,使您的大数据解决方案成本降到最低,从而高品质的解决您的大数据需求问题。

了解什么是GetInsight,请点击这里查看GetInsight的基础介绍>>

本文主要跟大家介绍GetInsight的分布式消息系统和分布式流处理框架。

分布式消息系统

分布式消息系统是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。

分布式消息系统是用于构建实时数据管道和流应用程序。具有横向扩展、容错、速度快等优点。

分布式消息系统对消息保存时根据主题进行归类,发送消息者成为生产者,消息接受者成为消费者,此外分布式消息系统集群有多个实例组成,每个实例(server)成为broker。无论是分布式消息系统集群,还是生产者和消费者都依赖于分布式协调工具来保证系统可用性集群保存一些meta信息。

GetInsight分布式消息系统的特性

  1. 构建实时的流数据管道,可靠地获取系统和应用程序之间的数据。
  2. 构建实时流的应用程序,对数据流进行转换或反应。
  3. 以容错的方式存储消息流。
  4. 在消息发生的时候处理消息流。
  5. 集群支持热扩展
  6. 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡。
  7. 高吞吐量:可以满足每秒百万级别消息的生产和消费。
  8. 持久性:有一套完善的消息存储机制,确保数据的高效安全的持久化。
  9. 分布式:基于分布式的扩展和容错机制;分布式消息系统的数据都会复制到几台服务器上。当某一台故障失效时,生产者和消费者转而使用其它的机器,允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)。
  10. 支持实时在线处理和离线处理:可以使用分布式流处理工具这种实时流处理系统对消息进行实时进行处理,同时还可以使用Hadoop这种批处理系统进行离线处理。

GetInsight分布式消息系统的功能

在大数据平台上,分布式消息系统主要是用来处理实时流数据,作为一个消息中间件来使用,用来接收其他组件或服务实时产生的消息数据,这可以是大量的,产生的速度也可以是很快的,分布式消息系统提供了主题的概念,它会根据消息的主题分类存储起来,提供了持久化机制,容错机制,处理的速度效率非常快。然后结合大数据平台上其他的组件如分布式流处理框架来对消息系统上的消息进行消费。消费的处理是在消费者角色端进行。

GetInsight分布式消息系统的应用场景

日志收集,分布式消息系统可以收集各种服务的log,通过消息系统以统一接口服务的方式开放给各种consumer,例如Hadoop、Hbase、Solr等。

运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。

作为一个大量的,高吞吐量的数据采集系统的数据缓冲,因为当信息采集平台将这些变化的数据信息写入或更新到数据库时候,会给数据库代理非常大的压力,甚至可以直接将数据库挂掉。所以就可以使用分布式消息系统来作为一个中间件,对实时的大量的数据进行缓冲,然后再写入到数据库中。

数据中心处理过的数据需要实时共享给几个不同的机构。我们常采用的方法是将数据批量存放在数据采集机,分支机构定时来采集;或是分支机构通过JDBC、RPC、HTTP或其他机制实时从数据中心获取数据。这两种方式都存在一定的问题,前者在于实时性不足,还牵涉到数据完整性问题;后者在于,当数据量很大的时候,多个分支机构同时读取数据,会对数据中心的造成很大的压力,也造成很大的资源浪费。所以也可以用到分布式消息系统来解决这两个问题。

分布式流处理框架

分布式流处理框架是一种构建在分布式计算框架上的实时计算处理框架,它扩展了分布式计算框架处理大规模流式数据的能力。

分布式流处理框架在内部的处理机制是:接收实时流的数据,并根据一定的时间间隔拆分成一批批的数据,然后通过分布式计算框架处理这些批数据,最终得到处理后的一批批结果数据。对应的批数据,在计算框架内核对应一个RDD实例,因此,对应流数据的DStream可以看成是一组RDDs,即RDD的一个序列。通俗点理解的话,在流数据分成一批一批后,通过一个先进先出的队列,然后分布式计算框架从该队列中依次取出一个个批数据,把批数据封装成一个RDD,然后进行处理。

分布式流处理框架对数据的处理其实并不是真正意义上的实时,并不是真正来一条数据就处理一条数据,而是根据分隔的时间片(例如1秒钟)来做到的准实时,把每一个时间片内到达的数据看做一组数据进行处理。所以,分布式流处理框架能做到的就是在秒级别的实时相应。

GetInsight分布式流处理框架的特性

  1. 能在分布式环境中运行,并达到秒级延迟。
  2. 使用基于内存执行引擎,具有高效和容错的特性。
  3. 能集成分布式计算框架的批处理和交互查询。
  4. 为实现复杂的算法提供和批处理类似的简单接口。
  5. 开发语言支持多种,scala、Java、Python,R
  6. 数据源广泛。

GetInsight分布式流处理框架的功能

对数据来源的实时流数据进行实时的处理,通过设置时间间隔的方式来满足不同业务需求对实时性的不同要求,间隔设置得越小,实时性就会越高。但是数据的处理是需要时间的,虽然分布式流处理框架的数据处理能力非常强,而且处理的速度特别快,但是当数据量大到一定程度,也是需要时间来处理的,所以这个时间间隔设置得需要合理,不能够太短,太短就会导致异常。

GetInsight分布式流处理框架的应用场景

分布式流处理技术应用场景主要体现在三个大的方面:实时营销、实时服务、实时监控以及实时同步应用场景

实时营销:根据特定消费者当前的个性需求,为其提供商品,该商品在被消费过程中可自动收集顾客信息,分析、了解消费者的偏好和习惯,自动调整产品功能,实时地适应消费者变化着的需求,金融、电商以及广告等行业有较多应用场景体现。金融:根据客户信用卡消费记录,掌握客户的消费习惯和偏好,预测客户未来的消费需求,并为其推荐个性化的金融产品。电商:根据电商平台用户浏览商品的分类、价格区间、品牌等因素对用户进行个性化推荐促成交易。广告:根据客户的查询偏好、浏览历史、地理位置等综合语义决定插入什么广告、在什么位置插入这些广告能得到最佳效果。电商平台、非电商业务系统以及外部数据共同描绘出用户画像,当用户访问电商网站、电商APP等触点时,根据用户画像为用户进行商品、商户等个性化实时推荐。再根据用户操作进行推荐算法以及画像修正。

实时服务:对消费者动态需求的快速反应,随时满足消费者在消费过程中新产生的需求,提高消费者的满意程度,培养消费者对企业的忠诚度并提升企业的竞争力,社交、电信以及交通等行业有较多应用场景体现。社交:实时分析用户的状态信息,及时提供最新的用户分享信息到相关的朋友,准确地推荐朋友,推荐主题,提升用户体验,并能及时发现和屏蔽各种欺骗行为。交通:实时接收用户使用手机软件发送的约车请求,司机根据约车请求进行接单(或派单),到达目的地后进行实时结算服务。电信:用户流量、资费实时统计做到个性化提醒服务;套餐、终端、阅读、动漫等根据用户画像进行个性化推荐服务。由于打车服务是典型的基于LBS(地理位置实时定位系统)的应用,实时性要求高且用户请求服务器并发量大。司机每隔几秒钟上报一次经纬度,乘客发单时,圈选出附近司机,将订单推送给司机,司机接单,开始服务。

实时监控:实时监控一般是指利用软件或硬件采集信息,并用采集到的信息对系统、环境、硬件等运行状态进行实时的监控。制造:对机械运行状态信息进行实时监控,分析出可能产生问题的部件进行预警。交通:通过传感器实时感知车辆、道路的状态,并分析和预测一定范围、一段时间内的道路流量情况,以便有效地进行分流、调度和指挥。金融:信用卡诈骗、保险诈骗、证券交易诈骗、程序交易等需要实时跟踪发现。

实时同步:对一些异构数据库之间进行实时数据同步,当然,需要用到分布式流处理框架的实时同步一般是产生数据量比较快,数据量很大的情况下,由于传统的同步方法一试没有消息中间件来缓冲大量的数据,而是对数据类型的转换需要时间,不能满足实时性的要求,所以就可以用到分布式流处理框架结合分布式消息系统来满足。消息系统负责缓冲实时数据,流处理框架负责处理实时数据,进行类型转换计算等,然后写入到目标数据库或者文件中,由于分布式流处理框架是基于分布式就算框架的,而分布式计算框架是基于内存的,且是分布式运行,多以速度非常快,能够满足实时性要求,所以,分布式流处理框架也可以用来做实时同步工具。


慧都工业大数据分析方案即将精益生产理论体系进行了完美的融合和应用,并对大数据总体架构进行了更细致明确的解读,提供自主研发的大数据平台,实现ETL、数据管理及存储、数据建模。如下图所示:

立即申请慧都大数据demo


关于慧都大数据分析平台

慧都大数据分析平台「GetInsight®」升级发布,将基于企业管理驾驶舱产品质量分析及预测设备分析及预测等大数据模型的构建,助力企业由传统运营模式向数字化、智能化的新模式转型升级,抓住数据经济的发展势头,提供管理效能,精准布局未来。了解更多,请联系在线客服

慧都大数据专业团队为企业提供商业智能大数据平台搭建,免费业务咨询,定制开发等完整服务,快速、轻松、低成本将任何Hadoop集群从试用阶段转移到生产阶段。

欢迎拨打慧都热线023-68661681或咨询慧都在线客服,我们有专业的大数据团队,为您提供免费大数据相关业务咨询!