一.示例代码 这段代码实现了一个独立线程监听在一个特殊的消息队列上,一旦收到消息就处理并发送给MQ,然后推送给所有的消费者. import com.alibaba.rocketmq.client.exception.MQBrokerException; import com.alibaba.rocketmq.client.exception.MQClientException; import com.alibaba.rocketmq.client.producer.DefaultMQProduc…
接上一篇:RocketMQ入门到入土(一)新手也能看懂的原理和实战! 一.事务消息的由来 1.案例 引用官方的购物案例: 小明购买一个100元的东西,账户扣款100元的同时需要保证在下游的积分系统给小明这个账号增加100积分.账号系统和积分系统是两个独立是系统,一个要减少100元,一个要增加100积分.如下图: 2.问题 账号服务扣款成功了,通知积分系统也成功了,但是积分增加的时候失败了,数据不一致了. 账号服务扣款成功了,但是通知积分系统失败了,所以积分不会增加,数据不一致了. 3.方案 Ro…
转自:http://www.changeself.net/archives/rocketmq入门(2)最佳实践.html RocketMQ入门(2)最佳实践 一.服务端安装部署 我是在虚拟机中的CentOS6.5中进行部署. 1.下载程序 2.tar -xvf alibaba-rocketmq-3.0.7.tar.gz 解压到适当的目录如/opt/目录 3.启动RocketMQ:进入rocketmq/bin 目录 执行 1 nohup sh mqnamesrv & 4.启动Broker,设置对应…
RocketMQ入门手册 RocketMQ是一个分布式.队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能.高可靠.高实时.分布式特点, 同时,广泛应用于多个领域,包括异步通信解耦.企业解决方案.金融支付.电信.电子商务.快递物流.广告营销.社交.即时通信.移动应用.手游.视频.物联网.车联网等. 具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消…
转自:http://www.changeself.net/archives/rocketmq入门(1).html RocketMQ入门(1) RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点:能够保证严格的消息顺序 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力 一.RocketMQ网络部署特点     (1)NameServer是一个几乎无状态的节点,可集群部署,节点之间无任何信息同步     (2)Broker部…
孤荷凌寒自学python第三十九天python的线程锁Lock (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 当多个线程同时操作一个文件等需要同时操作某一对象的情况发生时,很有可能发生冲突,因此在这种情况下就只能允许实时只有一个线程在操作这一对象,而其它线程在队列中等待,按排队顺序依次进行,这是我对[线程同步]的初步理解,因此[锁]这个对象就是用于实时只允许一个线程操作多线程大家都要操作的对象而存在的,当一个线程使用开启[锁]对象后到解锁[锁]对象的这段时间,只就允许此线程(是指开启[…
写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以我采用: 一.独立线程读取输出信息: 二.自己实现doWaitFor方法来代替api提供的waitFor()方法,避免子进程卡死. 三.设置超时,杀死wget子进程,没有正确返回的话,重试一次,并把超时时间加倍: 有了以上操作,wget不会卡死,就算卡住了也会因为超时被干掉再重试一次,所以绝大部分的…
消费者角色: 1. 推式(一般建议用推式) 2. 拉式 消费模式: 1. 集群(cluster)                --均衡负载消费 2. 广播(broadcasting) --发布和订阅者模式 MQ的消费不会清除broker中的数据,broker数据一直存在队列中,队列offset会一直递增,因此可以通过回查来获取到丢失数据.这个时候我们可以采用pull形式较好. push形式,MQ会记录访问的偏移量,即使宕机下次重启也会按照顺序继续消费,不会出现重复消费. 在RocketMQ入门…
 孤荷凌寒自学python第三十八天初识python的线程控制 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.线程 在操作系统中存在着很多的可执行的应用程序,每个应用程序启动后,就可以看着是一个进程,当打开WINDOWS任务管理器时,在任务管理器的进程选项卡中列出的就是一个一个的进程,基本上每个应用程序都对应着至少一个进程. 在同一进程中,也许同时在做着不止一件事情,比如在向程序界面上显示信息和接受信息的同时,程序也在和远端服务器通信读取数据,则这儿至少有两个线程运行在同一个进程中…
说明: 本文参照了官网的 dmoz 爬虫例子. 不过这个例子有些年头了,而 dmoz.org 的网页结构已经不同以前.所以我对xpath也相应地进行了修改. 概要: 本文提出了scrapy 的三个入门应用场景 爬取单页 根据目录页面,爬取所有指向的页面 爬取第一页,然后根据第一页的连接,再爬取下一页....依此,直到结束 对于场景二.场景三可以认为都属于:链接跟随(Following links) 链接跟随的特点就是:在 parse 函数结束时,必须 yield 一个带回调函数 callback…