消息队列
yongche_shi
这个作者很懒,什么都没留下…
展开
-
ENode1.0 框架的总体目标
开源地址:https://github.com/tangxuehua/enode本文想介绍一下enode框架要实现的目标以及部分实现分析思路剖析。总体来说enode框架是一个基于cqrs架构和消息驱动的应用开发框架。在说实现思路之前,我们先看一下enode框架希望实现的一些目标吧!框架总体目标高吞吐量(High Throughput)、低延迟(Low Latency)、高可用性(H转载 2014-08-13 12:19:28 · 482 阅读 · 0 评论 -
如何选择RabbitMQ的消息保存方式?
RabbitMQ对于queue中的message的保存方式有两种方式:disc和ram。如果采用disc,则需要对exchange/queue/delivery mode都要设置成durable模式。Disc方式的好处是当RabbitMQ失效了,message仍然可以在重启之后恢复。而使用ram方式,RabbitMQ处理message的效率要高很多,ram和disc两种方式的效率比大概是3:1。所转载 2016-11-24 11:59:28 · 2338 阅读 · 0 评论 -
RabbitMQ与AMQP协议详解
1. 消息队列的历史 了解一件事情的来龙去脉,将不会对它感到神秘。让我们来看看消息队列(Message Queue)这项技术的发展历史。Message Queue的需求由来已久,80年代最早在金融交易中,高盛等公司采用Teknekron公司的产品,当时的Message queuing软件叫做:the information bus(TIB)。 TIB被电信和通讯公司采用,路透社收购了T转载 2016-11-24 11:49:49 · 1773 阅读 · 0 评论 -
RabbitMQ源码解析前奏--AMQP协议
分类: AMQP即高级消息队列协议,接下来从三个方面来浅析该协议。一、协议 AMQP协议分层类似于OSI或TCP/IP协议分层。从图中可以看出分三层:图1 AMQP协议分层图1、Model Layer 规范服务器端Broker的行为。2、Session Layer 定义客户端与服务器端Broker的Context。3转载 2016-11-24 11:13:13 · 321 阅读 · 0 评论 -
centos6.8下安装rabbitmaq
1、安装erlang 语言环境RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。安装方法见之前blog "Centos6.8下安装Erlang18.3"。2、安装RabbitMQ 官网下载rpm包:rabbitmq-server-3.6.6-1.el6.noarch.rpm运行rpm -ivh --nodeps rabbitmq-server-3.6.6-1原创 2016-11-23 18:48:03 · 727 阅读 · 0 评论 -
如何用消息系统避免分布式事务
前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除转载 2016-08-04 11:10:06 · 332 阅读 · 0 评论 -
异步消息传递技术的比较:JMS、AMQP和MQTT
消息传递作为基本通信机制已经在全世界成功运用。无论是人与人、机器与人还是机器与机器之间,消息传递一直都是唯一常用的通信方式。在双方(或更多)之间交换消息有两种基本机制。 1.同步消息传递 2.异步消息传递 同步消息传递在这种情况下使用,当消息发送者希望在某个时间范围内收到响应,然后再进行下一个任务。基本上就是他在收到响应前一直处于“阻塞”状态。 异步消息意味着发送者并不要求立即收到转载 2016-08-04 10:27:37 · 3387 阅读 · 0 评论 -
消息中间件剖析
本文首先从概念和应用场景对消息中间件做总体描述,然后对几种典型的消息中间件从原理到实现进行分析和阐述,并进一步详细介绍了基于JMS规范的消息中间件。什么是消息中间件消息中间件是一套系统(或平台),用于应用程序之间进行通信,系统通过消息传递完成交互。消息中间件的主要特点有以下几个。1. 分布式:消息中间件都是分布式的,因此才可以提供异步、解耦等功能。2. 可靠转载 2016-07-09 18:53:03 · 5098 阅读 · 0 评论 -
RabbitMQ持久化机制
之前其实已经写过一篇关于RabbitMQ持久化的 文章 ,但那篇文章侧重代码层面的写入流程,对于持久化操作何时发生以及什么时候会刷新到磁盘等问题其实都没有搞清楚,这篇文章着重于关注这些问题。消息什么时候需要持久化?根据 官方博文 的介绍,RabbitMQ在两种情况下会将消息写入磁盘:消息本身在publish的时候就要求消息写入磁盘;内存紧张,需要将部分内存中的消息转转载 2016-05-25 18:21:24 · 11623 阅读 · 3 评论 -
rabbitmq中消息的存储
1. 大概原理:所有队列中的消息都以append的方式写到一个文件中,当这个文件的大小超过指定的限制大小后,关闭这个文件再创建一个新的文件供消息的写入。文件名(*.rdq)从0开始然后依次累加。当某个消息被删除时,并不立即从文件中删除相关信息,而是做一些记录,当垃圾数据达到一定比例时,启动垃圾回收处理,将逻辑相邻的文件中的数据合并到一个文件中。2. 消息的读写及删除:rab转载 2016-05-25 18:05:46 · 21892 阅读 · 1 评论 -
rabbitmq管理界面开启
在windows7上安装了rabbitmq server, 安装过程略。 下面要开启管理界面:1、在cmd窗口下进入rabbitmq安装目录下的sbin目录,使用rabbitmq-plugins.bat list查看已安装的插件列表。2、使用rabbitmq-plugins.bat enable rabbitmq_management开启网页管理界面3、重启rabbi原创 2016-11-24 14:35:31 · 60560 阅读 · 4 评论