数据处理神器storm的理解与思考 ——让你的数据化作行云流水

大数据之殇

要问storm是什么?简单答复就是:storm对于实时计算的相当于hadoop对于批处理。两者代表的对大数据处理的两种不同方式与态度,即hadoop代表的批处理方式,与storm为代表的流式计算。
先不扯流式计算是个什么鬼。如果说到大数据分析,大家首先直观就会想到hadoop的批处理方式。不管hadoop的图标上面的大象画得有多萌,出现在大家脑中的画面里的,肯定都会有一个庞然大物,好似几个大力巨神在移山搬海。即然是大数据,你自然需要一个能容纳海量数据的存储,为了兼顾效率与可靠,hdfs、hbase这样的工具应运而生。MapReduce的计算框架在帮你降低编程难度的同时,通过以计算能力去求找数据的方式,减少了数据传输的量,但是仍会有大规模的数据需要集中传输,占用大量带宽。由于批处理是对数据的大量数据的集中处理,强大的计算能力必不可缺,甚至有些场景,巨大的内存使用量也是让你望还却步的。可见批处理的处理思想虽然也有很多分布式的概念在,但总体感觉还是在是以大制大。你量大,我就力气要大。这就导致大存储,大带宽,大计算能力,大内存的需求。所以对很多人来说,这位移山大神不是你请得起的。


更多>>

浅谈 SystemServer

SystemServer - Android Framework 服务的核心进程,它管理一切与 Android 相关的服务,包括窗口、安装的应用、当前运行的应用、通知、网络、时间、电量、同步帐号、音频、视频、蓝牙、WIFI、地理位置 等一系列常用以及不常用的功能。盗用如下一张图,就可以看出从开机到SystemServer 的创建过程,以及桌面点击与AMS的交互:
<center>

android.init.png

图 0.1 Android 系统启动</center>

本文从 Android 4.4 源码出发,SystemServer 进程的创建开始,把 context manager 进程和 SystemServer 的初始化流程过一遍,相信会对看其他模块的源码有很大的帮助。


更多>>

浅析 Android 消息机制

Android 消息机制贯穿了 Android 应用程序运行,各个线程的消息队列就相当于一条条的大运河,每条运河旁边都有着一条条小路(无Looper的线程),消息相当于从小路上放下的船,在各个运河汇聚、处理,这个比喻可能有些不当,但也足以说明消息机制的重要性。很多优秀的博客都对消息机制做出了很详细的讲解,比如罗升阳老师的博客,本文将从初级使用开始讲解,通过解答正常学习中会遇到的疑问逐渐深入到framework中去。

更多>>

闲扯kafka mq

本文主要讲解关于kafka mq的设计思想及个人理解。关于kafka的详细信息,大家可以参考官网的文献document:http://kafka.apache.org/documentation.html这是一篇相当不错的文章,值得仔细研读。

第一个问题:消息队列(Message Queue)是干嘛用的?

首先,要对消息队列有一个基本的理解。不少人虽然在用消息队列,却并没有搞清楚消息队列是干嘛的。

更多>>

寄生兽 TV版

三天把《寄生兽》追到最新的18集,意犹未尽。一开始只它当作一部讲述畸形怪物的血腥惊悚动漫来看。后来发现,这居然还是一部感情细腻,画风时常美得让人窒息,人物塑造丰满的佳作。该漫最凶残的地方绝不是对怪物噬人的描绘,而是对几个主要女性角色的命运刻画。当你发现一个角色刚被刻画得无比丰满,你开始无条件爱上她的时候,恰恰就是作者让她死的时刻,一切来得太突然,凄美得让人眼睛流汗,心碎一地。

更多>>