Storm的理解

1、Storm流式处理:

                            Storm vs. mapreduce

                            Storm:面向实时

                                               缺点:吞吐能力差

                                               优点:时效性好,毫秒级别,增量式处理

                            Mapreduce:面向批量

                                               缺点:时效性差

                                               优点:吞吐能力强,适合批处理

 

2、Storm:没有持久化功能——》快

                            可靠性:保证消息处理

                            本地模式

                            原语:spout和bolt

                           

3、Storm基本概念:

       

                            1)Stream:数据流

                            2)Tuple:最基本的数据单元

                            3)Topology:网络拓扑

                                                        Grouping:Shuffle/Fields

                            4)Spout:消息生产者

                                                        可以对接很多类型的数据流

                                                        收集消息处理的ack、fail

                            5)Bolt:消息处理逻辑

                                                        过滤、访问外部服务、数据格式化、聚合、汇总。。。

                                                        可以发送多条流

        

4、常见模式:

                   (1)流式

                   (2)持续计算——机器学习迭代

                   (3)分布式RPC——独立服务

         

5、架构:

        

                            主:Nimbus:分配工作

                                                        如果挂掉:重启之后,像什么事情没有发生一样——无状态(快速失败fail-fast)

                                                                意味着你可以用kill -9来杀死Nimbus和Supervisor进程, 然后再重启它们,就好像什么都没有发生过。这个设计使得Storm异常的稳定。

                            从:Supervisor:监控工作

                                                                 快速失败fail-fast,监控Worker工作

                                                                 Worker:工作进程

                                                                 Task:线程

                                                                                      spout和bolt的线程都是task

                                                                                      executor进程,里面维护很多task,每次只会执行一个task

                            Zookeeper协调管理

       

    

    

    

            

    

6、容错:

                   架构容错

                      

                   数据容错:

                                               (1)timeout

                                               (2)ack机制:本质是一个特殊的task

猜你喜欢

转载自www.cnblogs.com/chen8023miss/p/11205211.html