分布式 事务 消息
文章平均质量分 69
xixihaha_123
这个作者很懒,什么都没留下…
展开
-
使用消息系统避免分布式事务
首先举个栗子:比如通过支付宝向余额宝转账1000元,这样一种生活中很平凡的事情,却可以引出很多问题:如果系统宕机挂掉,交易没有完成?那么数据就出现了不一致。等等类似的事情,在各类系统中都能找到类似情形。那么也可以换句专业的说法:当一个表update之后,如何保证另外一个与之关联的表也能完成update。1、本地事务: 支付宝账户表:A id uid amount ...原创 2015-09-22 09:24:16 · 182 阅读 · 0 评论 -
jstorm源码之RotatingTransactionalState
一、作用 构建一个Rotationg transaction的state类 用于完成partition的state管理及操作二、源码分析package storm.trident.topology.state;import backtype.storm.utils.Utils;import org.apache.zookeeper.KeeperException;...原创 2016-03-21 19:29:30 · 155 阅读 · 0 评论 -
jstorm源码之PartitionedTridentSpoutExecutor
一、作用 Partition Spout对应的executor二、源码分析package storm.trident.spout;import backtype.storm.task.TopologyContext;import backtype.storm.tuple.Fields;import java.util.ArrayList;import java...原创 2016-03-21 19:28:34 · 157 阅读 · 0 评论 -
jstorm源码之RotatingMap
一、作用 基于LinkedList + HashMap实现一个循环Map二、源码// 通过结合LinkedList 和 HashMap 构成一个循环Map数据结构 public class RotatingMap { // this default ensures things expire at most 50% past the expiration tim...原创 2016-03-21 19:27:23 · 150 阅读 · 0 评论 -
jstorm源码之 RichSpoutBatchExecutor
一、作用RichSpoutBatchExecutor是IRichSpout及其子类Spout的executor执行器;主要包括: 1、RichSpoutEmitter :用户tuple的emit 2、RichSpoutCoordinator:用于spout的调度 3、CaptureCollector: 用于获取spout的collect的f...原创 2016-03-21 19:24:44 · 181 阅读 · 0 评论 -
jstorm源码之TridentTopology
在jstorm中对应TridentTopology的源码如下,TridentTopology的主要作用是用来创建trident的一、一般使用的方式如下// 1、创建一个topology对象TridentTopology topology = new TridentTopology();// 2、设置相关参数: each分片、group by分组、聚合aggregate// 返...原创 2016-03-16 18:12:12 · 286 阅读 · 0 评论 -
jstorm操作命令
启动ZOOPKEEPERzkServer.sh start启动NIMBUSjstorm nimbus &启动SUPERVISORjstorm supervisor &启动UIjstorm ui &部署TOPOLOGYjstorm jar /opt/hadoop/loganalyst/storm-dependend/data/teststorm-1.0.jar t...原创 2016-03-15 18:04:06 · 739 阅读 · 0 评论 -
JStorm之Supervisor简介
一、简介Supervisor是JStorm中的工作节点,类似于MR的TT,subscribe zookeeper的任务调度结果数据,根据任务调度情况启动/停止工作进程Worker。同时Supervisor需要定期向zookeeper写入活跃端口信息以便Nimbus监控。Supervisor不执行具体处理工作,所有的计算任务都交Worker完成。从整个架构上看,Supervisor处在整个JSto...原创 2016-03-15 18:02:30 · 220 阅读 · 0 评论 -
JStorm介绍
一、简介Storm是开源的分布式容错实时计算系统,目前被托管在GitHub上,遵循 Eclipse Public License 1.0。最初由BackType开发,现在已被Twitter收入麾下。Storm最新版本是Storm 0.9,核心采用Clojure实现。Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息;Storm也可被用于“连续计算”(continu...原创 2016-03-15 17:56:59 · 176 阅读 · 0 评论 -
jstorm源码之TransactionalState
一、作用 主要是通过结合zookeeper,在zookeeper指定的目录下创建不同的自己 代表不同的transaction state,并赋予不同的内容;通过zookeeper完成对partitions的transaction的管理二、源码分析package storm.trident.topology.state;import backtype.storm.Confi...原创 2016-03-21 19:31:57 · 187 阅读 · 0 评论