一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见<互联网架构为什么要做微服务?>). 最近分享了几篇MQ相关的文章: <MQ如何实现延时消息> <MQ如何实现消息必达> <MQ如何实现幂等性> 不少网友询问,究竟什么时候使用MQ,MQ究竟适合什么场景,故有了此文. 二.MQ是干嘛的 消息总线(Me…
一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见<互联网架构为什么要做微服务?>). 最近分享了几篇MQ相关的文章: <MQ如何实现延时消息> <MQ如何实现消息必达> <MQ如何实现幂等性> 不少网友询问,究竟什么时候使用MQ,MQ究竟适合什么场景,故有了此文. 二.MQ是干嘛的 消息总线(Mess…
点击:<查看原文> 一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见<互联网架构为什么要做微服务?>). 最近分享了几篇MQ相关的文章: <MQ如何实现延时消息> <MQ如何实现消息必达> <MQ如何实现幂等性> 不少网友询问,究竟什么时候使用MQ,MQ究竟适合什么场景,故有了此文. 二.…
原文地址:http://zhuanlan.51cto.com/art/201704/536407.htm 一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见<互联网架构为什么要做微服务?>). 最近分享了几篇MQ相关的文章: <MQ如何实现延时消息> <MQ如何实现消息必达> <MQ如何实现幂等性> 不…
一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见<互联网架构为什么要做微服务?>). 最近分享了几篇MQ相关的文章: <MQ如何实现延时消息> <MQ如何实现消息必达> <MQ如何实现幂等性> 不少网友询问,究竟什么时候使用MQ,MQ究竟适合什么场景,故有了此文. 二.MQ是干嘛的 消息总线(Mess…
背景:这篇文章还是很全面的,但是很杂乱 后面慢慢整理吧! 1 MQ 消息队列+发送队列+消息通道 接收通道名称与发送端的发送通道名称要一致,修改通道信息后要执行 start channle(chlname) 重启通道.常用的MQ命令 66.0.42.240 用户 mqm/mqm88.0.52.40 mq队列服务器:mqm/1qaz2wsx二代:88.0.65.91 vlog/1qaz2wsx监控:/cnaps/maintain/bin管理台:admin/698825 240环境:admin/12…
1. 到底什么时候该使用MQ? 1). 典型场景一:数据驱动的任务依赖 采用MQ的优点是: a. 不需要预留buffer,上游任务执行完,下游任务总会在第一时间被执行 b. 依赖多个任务,被多个任务依赖都很好处理,只需要订阅相关消息即可 c. 有任务执行时间变化,下游任务都不需要调整执行时间 需要特别说明的是,MQ只用来传递上游任务执行完成的消息,并不用于传递真正的输入输出数据. 2). 典型场景二:上游不关心执行结果 采用MQ的优点是: a. 上游执行时间短 b. 上下游逻辑+物理解耦,除了与…
[参考文章]:到底什么时候该使用MQ? 1. 什么是MQ? 消息队列(Message Quene)是一种跨进程的通信机制,用于上下游传递消息. MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务. 使用了MQ之后,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务. 2. 什么时候不使用MQ? 结论:调用方实时依赖执行结果的业务场景,请使用调用,而不是MQ. 比如:用户登录场景,登录页面调用passport服务,passport服务的执行结果直接影响登录结果,此处的“登录页…
mq使用场景.不丢不重.时序性.削峰 参考: http://zhuanlan.51cto.com/art/201704/536407.htm http://zhuanlan.51cto.com/art/201703/535090.htm http://zhuanlan.51cto.com/art/201704/536306.htm http://zhuanlan.51cto.com/art/201611/521602.htm http://zhuanlan.51cto.com/art/20161…
问:为什么会有本文? 答:上一篇文章<到底什么时候该使用MQ?>引起了广泛的讨论,有朋友回复说,MQ的还有一个典型应用场景是缓冲流量,削峰填谷,本文将简单介绍下,MQ要实现什么细节,才能缓冲流量,削峰填谷. 问:站点与服务,服务与服务上下游之间,一般如何通讯? 答:有两种常见的方式 一种是“直接调用”,通过RPC框架,上游直接调用下游. 在某些业务场景之下(具体哪些业务场景,见<到底什么时候该使用MQ?>),可以采用“MQ推送”,上游将消息发给MQ,MQ将消息推送给下游. 问:为什…
消息队列+发送队列+消息通道 接收通道名称与发送端的发送通道名称要一致,修改通道信息后要执行 start channle(chlname) 重启通道.常用的MQ命令 66.0.42.240 用户 mqm/mqm88.0.52.40 mq队列服务器:mqm/1qaz2wsx二代:88.0.65.91 vlog/1qaz2wsx监控:/cnaps/maintain/bin管理台:admin/698825 240环境:admin/123456 698825通讯前置:88.0.65.94 pmts+1q…
1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市面上种类众多.各有所长的MQ消息中件间产品,该怎么去选择?这是个问题! 对于很多经验不足的开发者来说,一个公司内部用的IM聊天系统,总用户量也不过百十来人,动辄就是Kafka.MongoDB,美其名曰为了高性能和可扩展性,真是大炮打蚊子.而对于中大型的即时通讯场景来说,有的开发者确为了贪图使用简单.…
“我们大家都知道把一个微服务架构变成一个异步架构只需要加一个MQ,现在市面上有很多MQ的开源框架.到底选择哪一个MQ的开源框架才合适呢?” 一.什么是MQ?MQ的原理是什么? MQ就是消息队列,是Message Queue的缩写.消息队列是一种通信方式.消息的本质就是一种数据结构.因为MQ把项目中的消息集中式的处理和存储,所以MQ主要有解耦,并发,和削峰的功能. 1,解耦: MQ的消息生产者和消费者互相不关心对方是否存在,通过MQ这个中间件的存在,使整个系统达到解耦的作用. 如果服务之间用RPC…
这是<吃透XXX>技术系列的开篇,这个系列的思路是:先找到每个技术栈最本质的东西,然后以此为出发点,逐渐延伸出其他核心知识.所以,整个系列侧重于思考力的训练,不仅仅是讲清楚 What,而是更关注 Why 和 How,以帮助大家构建出牢固的知识体系. 回到正文,这是<吃透 MQ>的第一篇文章.本文主要讲解 MQ 的通用知识,让大家先弄明白:如果让你来设计一个 MQ,该如何下手?需要考虑哪些问题?又有哪些技术挑战? 有了这个基础后,我相信后面几篇文章再讲 Kafka 和 RocketM…
本文主要讲解 MQ 的通用知识,让大家先弄明白:如果让你来设计一个 MQ,该如何下手?需要考虑哪些问题?又有哪些技术挑战? 有了这个基础后,我相信后面几篇文章再讲 Kafka 和 RocketMQ 这两种具体的消息中间件时,大家能很快地抓住主脉络,同时分辨出它们各自的特点. 对于 MQ 来说,不管是 RocketMQ.Kafka 还是其他消息队列,它们的本质都是:一发一存一消费.下面我们以这个本质作为根,一起由浅入深地聊聊 MQ. 01 从 MQ 的本质说起 将 MQ 掰开了揉碎了来看,都是「一…
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. RabbitMQ的官方站:http://www.rabbitmq.com/        AMQP(高级消息队列协议) 是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息.AMQP的原始用途只是为金融界提供一个可以彼…
前言 有段时间没有更新博文了,一直在忙工作很少有时间静下心来继续研究点东西,说来也惭愧,归咎原因最主要的还是因为懒惰.空想也是不管用的,有时候很多想法被扼杀到了摇篮里,还没开始做就放弃了,这是多数人会有的恶习,世界上最不缺少的就是空想家,而是实践者,有句俗话说的好不怕千招会,只怕一招绝,能踏踏实实做好一件事的人才是人生的赢家.另外在平时也有研究过很多有趣的技术,但往往是没有研究到最后,只是研究了如何使用它,然后想要写成文章就是很危险的事情,如果对某项技术研究的并不通透,这时候发表见解的话这样只会…
上一篇我们知道了消息驱动Bean的基本用法,实际大型分布式企业应用中,往往会采用高性能的商业Queue产品,比如IBM Webshpere MQ(目前最新版本是7.5 ),下面讲解下如何在Jboss EAP 6.2 版本上整合Webshpere MQ 7.5 一.修改jboss的standalone-full.xml a) 添加IBM的resource-adapters 找到<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1&q…
1) 点对点通讯:点对点方式是最为传统和常见的通讯方式,它支持一对一.一对多.多对多.多对一等多种配置方式,支持树状.网状等多种拓扑结构. 2) 多点广播:MQ适用于不同类型的应用.其中重要的,也是正在发展中的是"多点广播"应用,即能够将消息发送到多个目标站点(Destination List).可以使用一条MQ指令将单一消息发送到多个目标站点,并确保为每一站点可靠地提供信息.MQ不仅提供了多点广播的功能,而且还拥有智能消息分发功能,在将一条消息发送到同一系统上的多个用户时,MQ将消息…
MQ下载地址:http://www-03.ibm.com/software/products/us/en/wmq/ 安装的MQ软件包为WMQv600Trial-x86_linux_2.tar.gz. 将WMQv600Trial-x86_linux_2.tar.gz解压至某一目录. (1)执行接受许可脚本: ./mqlicense.sh –accept 这个脚本是要安装WebSphere MQ 软件包的MQ许可程序. 至关重要,这个脚本没有正确配置的话将导致MQ安装失败.–accept是不启动图形…
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. RabbitMQ的官方站:http://www.rabbitmq.com/        AMQP(高级消息队列协议) 是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息.AMQP的原始用途只是为金融界提供一个可以彼…
随着计算机网络和分布式应用的不断发展.远程消息传递越来越成为应用系统中必不可少的组成部分. 商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同一时候也降低了系统的开发周期. 眼下应用最多的消息中间件产品为IBM MQSeries. 东风生管系统就是通过MQ 通讯的. 本文就针对MQ的基本操作与配置进行具体的阐述,希望对读者有所帮助. 一.MQ基本操作 MQ中有几个非常重要的组件:队列管理器(QueueManager).队列(Queue)和通道(Channel).其主要的操作方法例如以…
场景:学习mq相关的知识,发现这是一篇总结性很强的文章,转过来学习学习! 1 mq经验总结 首先了解什么是mq?mq的作用是什么? mq是通讯中间件.他的作用是省去开发人员开发通讯工具的时间,节省开发成本,提高开发效率. mq的使用,如何安装mq?根据以往的经验,win版的mq比较容易安装,傻瓜式,一路next就可以. aix版本的用smitty安装.linux版本用rpm -ivh 安装 mq中一些名称的概念:队列管理器:简单的说就是一个大容器的管理员,这个大容器里放了很多东西.队列:大容器里…
1.关于websphere MQ的常用名词(针对Websphere MQ7.5版本) 队列管理器:为应用程序提供消息传递服务的程序.使用消息队列接口(MQI)的应用程序可以将消息放置到队列并可从队列中获得消息,队列管理器确保消息可以发送至正确的队列或传递至另一个队列管理器. 本地队列:队列管理器接收消息的位置. 传输队列:特殊的本地队列,当队列管理器将消息发送至远程队列管理器上的队列时,传输队列在本地存储此消息,直到远程队列管理器上的队列可用.创建传输队列,只需创建一个本地队列将其用法属性改为"…
我走过最长的路是你的套路 女:二号男嘉宾,假如我们牵手成功后,你会买名牌包包给我吗? 男:那你会听话吗? 女:会 听话. 男:听话 咱不买! OK那么消息队列MQ有什么套路呢?(这个话题转换生硬度连我自己都怕!) 使用消息队列场景和好处 使用消息队列会带来什么问题,有什么解决方案 如何使用MQ(以ActiveMQ为例的简单例子) 1.消息队列的应用场景和好处: 异步-流量削峰 我们先来看下传统的服务器接收处理请求的流程 如上图,在不使用消息队列服务器的时候,用户的请求都直怼数据库,在高并发的情况…
PC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制. RPC框架 知名度较高的有Thrift(FB的).dubbo(阿里的). RPC的一般需要经历4个步骤: 1.建立通信 首先要解决通讯的问题:即A机器想要调用B机器,首先得建立起通信连接,主要是通过在客户端和服务器之间建立TCP连接. 2.服务寻址 要解决寻址的问题,A服务器上如何连接到B服务器(如主机或IP地址)以及特定的端口,方法的名称是什么. 3.网络传输 1)序列化…
复制粘贴于:https://blog.csdn.net/wqc19920906/article/details/82193316 一.消息中间件相关知识 1.概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一.当今市面上有很多主流的消息中间件,如老牌的ActiveMQ.RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等. 2.消息中间件的组成 2.1 Broker 消息服务…
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成,通过提供消息传递和消息排队模型,它可以在分布式环境下拓展进程间的通信,对于消息中间件,常见的角色大致也就有Producer(生产者).Consumer(消费者) MQ     消息中间件     消息队列 Message Queue简称MQ 种类: 1.Apache  ActiveMQ   ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.…
1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我们可以称为即时消息:即消息从一端发出后(消息发送者)立即就可以达到另一端(消息接收者),这种方式的具体实现就是平时最常见的IM聊天消息: 2)另一种称为延迟消息:即消息从某端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端. 在上述“消息传递方式2)”中所指的这个容器…
MQ的基本概念 1) 队列管理器 队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务. 2) 消息 在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息.消息有两部分组成: 消息描述符(Message Discription或Message Header),描述消息的特征,如:消息的优先级.生命周期.消息Id等: 消息体(Message Body)…