ActiveMQ安装配置和使用简例
本文作者:Zhang Phil
原文链接:http://blog.csdn.net/zhangphil/article/details/48173665
ActiveMQ安装配置和使用简例
ActiveMQ是一套JMS(Java Message Service)开源消息服务实现的组件。
三:JMS消息服务规范
一:JMS是什么?--->JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API--->用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
分布式系统一致性理论和实践
ACID 理论
关系型数据库具有解决复杂事务场景的能力,关系型数据库的事务满足 ACID 的特性。
Atomicity:原子性(要么都做,要么都不做)
Consistency:一致性(数据库只有一个状态,不存在未确定状态)
Isolation:隔离性(事务之间互不干扰)
Durability: 永久性(事务一旦提交,数据库记录永久不变)
具有 ACID 特性的数据库支持数据的强一致性,保证了数据本身不会出现不一致。
如何用消息系统避免分布式事务
前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。
上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费吧,怎么保证?!等等,相信大家或多或多少都能碰到相似情景。