转载:http://blog.jobbole.com/89140/ 前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应
转载:http://segmentfault.com/a/1190000003059871这是一篇老帖子了,我是来学习的。原文在这里:http://jm-blog.aliapp.com/?p=3483。问题是图片都没有了。我费了很大功夫才把原文的图片给找回来。排版之后重新发布一遍。淘宝的notify是一个非常有特色的消息中间件。它用创新地方式解决了分布式事务的问题,用相对较低的成本,实现了跨mic
转载:http://www.cnblogs.com/aarond/p/rabbitmq.html概述由于种种原因,RabbitMQ到目前为止,官方还没有实现优先级队列,只实现了Consumer的优先级处理。但是,迫于种种原因,应用层面上又需要优先级队列,因此需求来了:如何为RabbitMQ加入优先级队列特性。查询资料后,得知RabbitMQ虽然官方没有支持此特性,但是社区已经有相关优先级队列插件了
转载:http://huoding.com/2012/02/29/146最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用的都是PhpRedis扩展来实现的。内存比如要推送一条全局消息,如果真的给所有用户都推送一遍的话,那么会占用很大的内存,实际上不管粘性有多高的产品,活跃用户同全部用户比起来,都会小很多,所以如果只处理登录用户的话,那么至少在
转载:http://mp.weixin.qq.com/s?__biz=MjM5NTg2NTU0Ng==&mid=208714792&idx=6&sn=74b1983a9bbde9577dd79621dc65c903&scene=5#rdPushlets 是通过长连接方式实现“推”消息的。推送模式分为:Poll(轮询)、Pull(拉)。本文围绕 Pull 模式进行设计
背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty是否可以做推送服务器?如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端?使用Netty开发推送服务遇到的各种技术问题。由于咨询者众多,关注点也比较集中,我希望通过本文的案例
Memcache 一般用于缓存服务。但是很多时候,比如一个消息广播系统,需要一个消息队列。直接从数据库取消息,负载往往不行。如果将整个消息队列用一个key缓存到memcache里面。对于一个很大的消息队列,频繁进行进行大数据库的序列化 和 反序列化,有太耗费 。下面是我用PHP 实现的一个消息队列,只需要在尾部插入一个数据,就操作尾部,不用操作整个
在web开发中,我们经常会遇到需要处理批量任务的时候,这些批量任务可能是用户提交的,也可能是当系统被某个事件触发时需要进行批量处理的,面对这样的任务,如果是用户提交的批量任务,初级程序员只能让用户触发提交动作后,等待服务器处理完毕,并且将结果返回到浏览器,期间用户不能关掉浏览器窗口,如果数据比较大,或者处理速度比较慢,那用户体验将会因此受到直接影响。但是当我们使用某讯或者某浪的邮箱时,点击群发邮件
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。背景介绍Kafka创建背景Kafka是
RocketMQ与Kafka对比(18项差异)2015-02-28王启军奔跑中的蜗牛此文是rocketmq作者vintage.wang所写,对于每项对比,后面都增加了我的观点,有不对的地方,请各位指出。淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Ka
摘要 实现远程调用RabbitMQ RabbitMQ入门目录[-]远程过程调用(RPC)(使用Java客户端)用户接口回收队列相关性ID (原:Correlation Id)摘要把所有的放在一起远程过程调用(RPC)(使用Java客户端)在指南的第二部分,我们学习了如何使用工作队列将耗时的任务分布到多个工作者中。但是假如我们需要调用远端计算机的函数,等待结果呢?好吧,这又是另一
摘要 根据表达式来接收消息RabbitMQ RabbitMQ入门目录[-]主题(topic)(使用Java客户端)topic类型交易所把所有放在一起主题(topic)(使用Java客户端)在先前的指南中我们改进了我们的日志系统。取代使用fanout类型的交易所,那个仅仅有能力实现哑的广播,我们使用一个direct类型的交易所,获得一个可以有选择性的接收日志。虽然使用direct
摘要 有选择性的接收消息RabbitMQ RabbitMQ入门目录[-]路由(使用Java客户端)绑定直接交换多种绑定发出日志订阅把它们放在一起路由(使用Java客户端)在先前的指南中,我们建立了一个简单德日志系统。我们可以将我们的日志信息广播到多个接收者。 在这部分的指南中,我们将要往其中添加一个功能-让仅仅订阅一个消息的子集成为可能。例如,我们可以直接将关键的错误
摘要 一次将消息发送到多个消费者RabbitMQ RabbitMQ入门目录[-]发布和订阅(使用java 客户端)交换临时队列绑定把所有放在一起发布和订阅(使用java 客户端)在先前的指南中,我们创建了一个工作队列。这工作队列后面的假想是每一个任务都被准确的传递给工作者。在这部分我们将会做一些完全不同的事情–我们将一个消息传递给多个消费者。这部分被认知为“发布和订阅”。为了说
摘要 在工作者之间分配任务RabbitMQ RabbitMQ入门目录[-]工作队列(使用Java客户端)准备循环分派消息确认消息持久化公平分发把它们放在一起工作队列(使用Java客户端) 在这第一指南部分,我们写了通过同一命名的队列发送和接受消息。在这一部分,我们将会创建一个工作队列,在多个工作者之间使用分布式时间任务。 工作队列(亦称:任务队列)背后主要的
摘要 RabbitMQ中一些基本的概念RabbitMQ RabbitMQ入门目录[-]“Hello World”(使用java客户端)发送接收把所有放在一起前面声明本文都是RabbitMQ的官方指南翻译过来的,由于本人水平有限难免有翻译不当的地方,如发现不对的地方,请联系下我,好及时改正。好了,正文开始:RabbitMQ 是一个消息代理。这主要的原理十分简单,就是通过接受和转发
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号