摘要:
转载自:http://www.cnblogs.com/panfeng412/archive/2012/07/29/storm-stream-model-analysis-and-discussion.html本文首先介绍了Storm的基本概念和数据流模型,然后结合一个典型应用场景来说明Storm支持Topology之间数据流订阅的必要性,最后对比了Storm与另一个流处理系统在数据流模型上的区别之处。Storm基本概念Storm是一个开源的实时计算系统,它提供了一系列的基本元素用于进行计算:Topology、Stream、Spout、Bolt等等。在Storm中,一个实时应用的计算任务被打包作 阅读全文
摘要:
1.尽量保持别人接口的语义,最好不要限制,或者扩大,除了核心你要封装的参数。 int zoo_exists(zhandle_t *zh, const char *path, int watch, struct Stat *stat); 可以设计为: int32_t IsExists(const string& path, int32_t watch = 0, struct Stat *stat = NULL) 其中 zhandle_t 这个核心的参数作为类的变量了,其余的参数尽量不要改,可以保持其语义的丰富以及完整,否则你就需要多写几个IsExists的特殊话接口了。有必要的时候才这么 阅读全文
摘要:
区别:1.引用不能指向空对象。 不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。2.应用的对象一旦初始化就不能改变。总结:1.当你知道你必须指向一个对象并且不想改变其指向时,或者在重载操作符并为防止不必要的语义误解时,你不应该使用指针。而在除此之外的其他情况下,则应使用指针。2.引用并不能完全消除指针。 阅读全文