quentinxxz 发布的文章

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

大数据之殇

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


- 更多 -

闲扯kafka mq

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

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

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

- 更多 -

寄生兽 TV版

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

- 更多 -

关于solr build search分离的讨论以及re-indexing的实现

场景需求与分析

我们的做法,一般将索引构建大致分为两类操作,一为全量索引构建,二为增量索引构建。使用solr建索引,一般会在初始状态的时候,进行一次全量构建,根据当前数据源的整体数据生成一套完整索引,可提供服务,但为了保证索引数据的完整且最新,还需要增量索引,使得数据源的改变(包括记录的增加,修改,与删除)体现在这套索引之上。

- 更多 -

Solr源码掘金之 SolrCloud中的zookeeper使用分析

上一周,对公司搜索引擎工作流程的做改造工作。涉及到不同角色服务器之间的沟通工作。我们试图应用zookeeper到我们的场景,实现应用模块之间的解耦。本文深入到solr源码,从中掘金,看看solr是如何使用zookeeper的。
在做本次改造的时候,公司同事对于zookeeper的使用,提供了很好的建议,其中一个重要原则就是“谁创建,谁修改”,也就是各个服务应用自己创造自己的结点,自己去修改配置自己的最新状态。一般情况下,对结点的修改是结点的创建者,而不应该是其它对些结点数据的关注者,不然会增加操作复杂度与不确定性。


- 更多 -