摘要:一、导读 在之前的文章中我们介绍了如何基于RocketMQ搭建生产级消息集群,以及2PC、3PC和TCC等与分布式事务相关的基本概念(没有读过的读者详见👇推荐阅读)。在这篇文章中我们将介绍RocketMQ的事务消息相关的内容,并通过一些实践和大家一起来探索下事务消息如何解决分布式系统中的分布式事务
阅读全文
摘要:一、Beanstalkd是什么? Beanstalkd是一个高性能,轻量级的分布式内存队列 二、Beanstalkd特性 1、支持优先级(支持任务插队)2、延迟(实现定时任务)3、持久化(定时把内存中的数据刷到binlog日志)4、预留(把任务设置成预留,消费者无法取出任务,等某个合适时机再拿出来处
阅读全文
摘要:Beanstalk是一个高性能、轻量级的、分布式的、内存型的消息队列系统。最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟。其实Beanstalkd是典型的类Memcached设计,协议和使用方式都是同样的风格。其基本设计思想很简单:高性能离不开异步,异步离不开队
阅读全文
摘要:一:什么是Qpid? >Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信。 >Qpid 提供了 C++/Python/Java/C# 等主流编程语言的客户端库,安装使用非常方便。二:Qpid的出现的原因? >在系统间
阅读全文
摘要:一:JMS是什么? >JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API >用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 >Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对
阅读全文
摘要:一:AMQP协议? >AMQP 是 Advanced Message Queuing Protocol,即高级消息队列协议。和前面罗列的技术不同,AMQP 是一个标准化的消息中间件协议 >她的理想是让不同语言,不同系统的应用互相通信,并提供一个简单统一的模型和编程接口。这样,人们就可以采用各种语言和
阅读全文
摘要:MetaMQ集群一个节点的安装和配置示意图【1】:下载metaMQ的安装包【2】:进行metaMq的解压,重命名为 并进入真正的主目录,该mq由于是阿里开源产品,所以目录很深【3】:进行metaMq的环境变量配置【4】:进入metaMq的配置文件存放目录【5】:进入conf目录进行该文件的配置 se
阅读全文
摘要:链接代码项目启动报的异常本地main方法链接报的异常网上查询原因问题说明及解决方案:网上原因很多,最终原因都是连接不到数据库造成的。1、查看防火墙2、tomcat端口是否屏蔽3、查看连接数据库文件,连接地址是否正确,尤其要注意IP特殊原因:这里,数据库设备有2台,都具有实IP地址,还有一台设备来做负...
阅读全文
摘要:远程过程调用(RPC)(使用Java客户端)在指南的第二部分,我们学习了如何使用工作队列将耗时的任务分布到多个工作者中。但是假如我们需要调用远端计算机的函数,等待结果呢?好吧,这又是另一个故事了。这模式通常被称为远程过程调用或RPC。在这部分,我们将会使用RabbitMQ构建一个RPC系统:一个客户...
阅读全文
摘要:主题(topic)(使用Java客户端)在先前的指南中我们改进了我们的日志系统。取代使用fanout类型的交易所,那个仅仅有能力实现哑的广播,我们使用一个direct类型的交易所,获得一个可以有选择性的接收日志。虽然使用direct交易所类型已经改善了我们的系统,但它依旧有限制-它不能根据多个条件进...
阅读全文
摘要:发布和订阅(使用java 客户端)在先前的指南中,我们创建了一个工作队列。这工作队列后面的假想是每一个任务都被准确的传递给工作者。在这部分我们将会做一些完全不同的事情–我们将一个消息传递给多个消费者。这部分被认知为“发布和订阅”。为了说明这个部分,我们会建立一个简单德日志系统,它是由两个程序组成–第...
阅读全文
摘要:路由(使用Java客户端)在先前的指南中,我们建立了一个简单的日志系统。我们可以将我们的日志信息广播到多个接收者。 在这部分的指南中,我们将要往其中添加一个功能-让仅仅订阅一个消息的子集成为可能。例如,我们可以直接将关键的错误信息指向到日志文件(保存在爱硬盘空间),同时依旧能打印所有日志信息到平台上...
阅读全文
摘要:工作队列(使用Java客户端) 在这第一指南部分,我们写了通过同一命名的队列发送和接受消息。在这一部分,我们将会创建一个工作队列,在多个工作者之间使用分布式时间任务。 工作队列(亦称:任务队列)背后主要的思想是避免立即处理一个资源密集型任务并且不得不一直等待完成。相反我们可以计划着让任务后续执行。我...
阅读全文
摘要:目录[-]"Hello World"(使用java客户端)发送接收把所有放在一起前面声明本文都是RabbitMQ的官方指南翻译过来的,由于本人水平有限难免有翻译不当的地方,如发现不对的地方,请联系下我,好及时改正。好了,正文开始:RabbitMQ 是一个消息代理。这主要的原理十分简单,就是通过接受和...
阅读全文