storm笔记一

Storm 实时流计算 数据将在各个维度交叉关联,数据爆炸已不可避免, 流式处理加nosql产品所以产生, 前者解决实时处理框架,后者处理数据大规模存储计算.算法

基于对传统数据库处理的流式化. 对流式框架自己的研究. 工业界实时数据库.sql

2011年Twitter开源storm 能够快速搭建一套健壮易用的实时流处理框架,配合sql产品或nosql产品或mapreduce平台可作实时产品.数据库

Topology DRPC Tridentjson

Storm 开源的分布式实时计算系统,简单可靠的处理大量数据流. 使用场景为实时分析,在线机器学习,持续计算,分布式RPC,ETL等.服务器

可使用任意语言开发应用,推荐go语言并发

Storm集群中真正运行topology的主要有三个实体,工做进程,线程和任务.任务是真正进行数据处理的实体.每一个线程可执行多个任务.spout,bolt被开发出来就是做为一个或多个任务的方式执行的.每台机器执行多个进程,每一个进程有多个线程.计算任务在多个线程\进程和服务器之间并行进行,支持灵活的水平扩展.框架

保证spout发出的每条消息都能被彻底处理. Spout发出消息后续可能会触发产生成千上万条消息,理解为消息树,spout发出的消息为树根,storm会跟踪这棵消息树的处理状况,只有这棵消息树的全部消息都被处理了,storm才认为spout发出的这个消息已经被彻底处理了. 若是消息树中任何一个消息处理失败了,或整棵消息树在限定的时间内没有彻底处理,那么spout发出的消息会重发.机器学习

为减小对内存的消耗,storm不会跟踪消息树中每一个消息,而是将消息树看成一个总体跟踪,对消息树中全部消息的惟一id进行异或运算,经过是否为0断定spout发出的消息是否被彻底处理,极大的节约了内存和简化了断定逻辑.此处会详细介绍.nosql

有事务性拓扑保证消息只被处理一次.分布式

多语言协议容许spout或bolt使用标准输入输出进行消息传递,消息内容为单行文本或json编码的多行文本.

支持本地模式,在进程中模拟storm集群的全部功能,以本地模式运行topology和在集群中运行相似,有利于开发测试.

zeroMQ做为底层消息队列,保证消息快速处理.

Storm计算任务以拓扑为基本单位,每一个拓扑完成特定的业务指标,拓扑中的每一个逻辑业务节点实现特定的逻辑,并经过消息相互协做.

配置逻辑节点的并发数

全部部署仅经过命令提交一个jar包,全自动部署,中止拓扑也是命令执行. 可图形化监控各个拓扑的信息,包括每一个处理单元的状态和处理消息的数量

海量数据实时处理, 存储中间结果,写入数据库,,重启恢复容灾. 数据增量更新,数据库实时读写压力. 几率算法使用

相关文章
相关标签/搜索