Storm高级属性

        之前写了2篇文章讲述了Storm的基本知识。最近也学习了Storm的高级属性了,单纯粹还是属于了解的状态。我就简单介绍几个比较简单的属性。

        1.DRPC。简称分布式RPC,模型图:


用户直接面对的是DRPC Server,避开了所有的拓扑逻辑,Storm提供了一个名为LinearDRPCTopologyBuilder的线性拓扑构建器,他把DRPC所做的几乎所有步骤都自动实现了。本地模式的代码例子如下:

LocalDRPC drpc = new LocalDRPC();
LocalCluster cluster = new LocalCluster();

cluster.submitTopology("drpc-demo", conf, builder.createLocalTopology(drpc));

System.out.println("Results for 'hello':" + drpc.execute("exclamation", "hello"));

cluster.shutdown();
drpc.shutdown();
        2.事务拓扑。事务拓扑的概念可以理解为就是和事务的概念差不多。Storm在0.7.0版本中引入了事务拓扑的概念,使你能够对几乎任何计算得到确切的一切消息语义。事务拓扑的一个核心思想是:

(1)、如果数据库中的事务id,与当前事务的id一样,跳过更新

(2)、如果2者id不同,则只需更新操作

(3)、由(1),(2)的保证,一旦提交了一个特定的事务id,所有之前的事务id将永远不会被再次提交。

事务拓扑的实现是由Storm的TransactionTopologyBuilder类来创建事务拓扑。

       3.Trident.Trident是Storm实时计算的高层抽象,他提供了更加便利和直观的接口。Trident是Storm实时计算的高层抽象。Trident有连接,聚合,分组,函数和过滤器等操作。Trident的实现也是用Storm提供的TridentTopology。Trident API用于对数据进行转换盒组织。Trident有5种类型的操作:

(1).本地分区操作,应用本地到每个分区,不需要网络传输

(2).重新分区操作,重新分区一个流但不改变其内容,需要网络传输

(3).聚合操作,网络传输是该操作的一部分

(4).流分组操作

(5).合并与连接

在后来的Storm的发展中,也出现了与Storm发展的一些开源项目

1.JStorm(JStorm继承了Storm的全部优点,并改进部分Storm的不足,提高了Storm的性能和稳定性)

2.storm-deploy

3.Storm与Kafka项目

4.Storm-kestrel项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值