海量数据搬运工-DataStream

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

海量数据搬运工Datastream顾费勇2012-11-28大纲•Datastream产生的原因•Datastream的结构和特征•Datastream关键技术点分享•Datastream应用场景•Datastream未来展望场景1•BI,xx应用想做下日志的统计分析,收集一下吧场景2•线上的服务器日志做下分析吧,可能有DDOS场景3•要拿数据库增量数据,建索引、反攻击、做分析,写点程序吧怎么办呢•问题:每个产品数据都不相同,不同部门代码复用率低•后果:BI、反垃圾、搜索引擎的同学都要疯了•解决方案:我们搞个统一的收集数据的平台吧Datastream应运而生•我们不生产数据,我们是数据的搬运工大纲•Datastream产生的原因•Datastream的结构和特征•Datastream关键技术点分享•Datastream应用场景•Datastream未来展望什么是Datastream•Datastream是一个数据传输平台,用于连通数据源和终端用户的桥梁他最大的作用就是:让终端用户对数据获取方式透明让终端用户对数据的格式透明系统框架系统特征特性说明搬运节点线性扩展集群中节点可动态增减,个别节点宕机不影响集群数据来源多样化可支持多种数据源,新数据源支持简单数据存储终端多样化可根据产品需要支持不同类型的数据存储终端数据分流和复制根据产品需要对数据进行分流和复制输出数据格式统一统一采用结构化JSON的数据输出格式,产品端提取数据简单强大的管理平台管理平台有各种强大的向导功能远程控制所有的Datastream客户端都通过管理平台统一做远程控制,无需登录服务器大纲•Datastream产生的原因•Datastream的结构和特征•Datastream关键技术点分享•Datastream应用场景•Datastream未来展望关键技术点•一、异构数据源解析•二、数据分流•三、数据可靠传输•四、数据传输效率一、异构数据源解析•Datastream从扩展性上来看能支持各种各样的数据源,目前支持一下数据源:文本文件Syslog日志Mysqlbinlog文本日志来源•主要是应用服务器的日志文件通过一个轻量级的agent来tail服务器本地日志并发送到datastream文本日志解析的特点•支持各种滚动方式的日志•支持断点续传•轻量级,占用系统资源少•对应用无侵入•支持多行相关联日志输出为一行(例如java异常,结构化的JSON,xml等)tailFile多行解析的实例Syslog日志来源•这是一个通用的日志协议,不受编程语言限制,来源有服务器系统日志应用的重要日志Apache,nginx等代理日志Syslog日志Syslog日志解析特征•平台无关•应用侵入性低Mysqlbinlog来源•Mysqlbinlog是mysql增量数据的记录,对于实时计算有相当大的作用Mysqlbinlog解析关键技术•全自动化用户配置•Binlog转换JSON•反向查询•事务支持•强顺序性保证全自动化用户配置•全自动加载数据库表结构,支持分布式数据库二进制binlog转换为JSON可以根据用户配置将数据库中的增量数据转换成结构化的JSON,供产品使用反向查询•反向查询有些应用(比如实时索引),需要变化的数据关联的其他数据构成完整数据事务支持•支持mysql事务,一个事务内的操作会封装为一个在一个JSON内,同时保持事务的执行顺序•过大的事务会进行切割,避免内存消耗过大强顺序性保证•binlog的顺序如果出错,可能会导致后端产品最终数据状态的错误,因此datastream在处理Binlog时采取了强顺序性的保证每个mysql节点的事务操作顺序依次发送事务内操作保持顺序MQ消费客户端的ack机制保证消费的顺序性和不遗漏消息MQ消费客户端异常退出会重新获取上次未完成的消息二、数据分流•日志分流规则的基础为数据标签•数据标签唯一标志一类数据的分流方式数据分流隔离机制•不同数据标签之前数据传输隔离,保证不同流量的产品之间传输速度不会相互影响•不同分流方式之间隔离,保证某个数据终端宕机或传输速度慢不会影响其他分流方式三、数据可靠传输•持久化机制收到消息先做持久化后发送•ACK机制确保后端模块已收到数据,否则重发•异常数据处理无法处理的异常数据保存在制定位置,可追溯来源数据可靠传输•全面覆盖的监控程序监控所有进程的正确执行监控系统有无异常日志监控系统吞吐量是否不足有延迟监控产品数据流量异常波动监控产品有无不符合协议的日志四、数据传输效率•分布式处理,可线性拓展•数据批量传输,批量ACK•采用thrift序列化机制•采用nio优化数据持久化效率•多线程处理日志并保证顺序性(如日志过滤)大纲•Datastream产生的原因•Datastream的结构和特征•Datastream关键技术点分享•Datastream应用场景•Datastream未来展望Datastream应用场景•一般产品需要数据做哪些操作呢?存储备份条件查询分析运算构建索引Datastream都能满足Datastream应用场景•Datastream目前可以支持以下应用场景:离线数据分析实时数据分析实时索引日志归档日志统计报表日志报警监控大纲•Datastream产生的原因•Datastream的结构和特征•Datastream关键技术点分享•Datastream应用场景•Datastream未来展望Datastream未来展望Datastream项目将来会更好地发挥搬运工角色,做一个效率更高,安全性更好的搬运工后期会考虑实现如下的功能:数据追踪系统,提升数据安全性,类似快递更好地与后端数据服务整合非结构化日志转为结构化日志未来的DatastreamQ&A

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功