RabbitMQ知识总结
文章平均质量分 95
Andrewniu
这个作者很懒,什么都没留下…
展开
-
RabbitMQ基础概念详细介绍
转至:http://www.ostest.cn/archives/497引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本转载 2017-12-19 17:31:33 · 191 阅读 · 0 评论 -
RabbitMQ 内存控制 硬盘控制
一、内存控制:vm_memory_high_watermark 该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。rabbitmqctl set_vm_memory_high_watermark 0 Paging 内存阈...转载 2018-05-10 08:43:35 · 2780 阅读 · 0 评论 -
RabbitMQ 远程 IP 访问 解决办法 -摘自网络
刚刚安装的RabbitMQ-Server-3.3.5,并且也已经开启了Web管理功能,但是现在存在一个问题:出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,不能使用IP地址登录,也就是不能远程访问,这对于服务器上没有安装桌面的情况是无法管理维护的。 要解决这个问题需要配置远程登录权限,这里通过配置文件来实现远程访问。 这里...转载 2018-05-10 08:43:48 · 7259 阅读 · 1 评论 -
RabbitMQ添加新用户并支持远程访问(三)
使用rabbitctl添加用户第一、添加mq用户并设置密码 root@live-mq-01:~ # rabbitmqctl add_user mq 1234561root@live-mq-01:~ # rabbitmqctl add_user mq 123456 第二、添加mq用户为administrator角色 root@live-mq-01:~ # rabbitmqctl set_us...转载 2018-05-10 08:43:58 · 10443 阅读 · 0 评论 -
大型网站架构之分布式消息队列
大型网站架构之分布式消息队列 以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系...转载 2018-05-10 08:44:08 · 195 阅读 · 0 评论 -
网易蜂巢微服务架构:用RabbitMQ实现轻量级通信
本次分享内容由三个部分组成:微服务架构与MQRabbitMQ场景分析与优化RabbitMQ在网易蜂巢中的应用和案例分享1微服务架构与MQ 微服务架构是一种架构模式,它将单体应用划分成一组微小的服务,各服务之间使用轻量级的通信机制交互。上图左边是单体架构应用,把所有业务功能放在单个进程中,需要扩展时以进程为单位水平复制到多台机器。上图右边是微服务架构应...转载 2018-05-10 08:44:36 · 1781 阅读 · 0 评论 -
关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO,MQ的总结
对于结构复杂的编程,尤其是出现并发需求的时候,进行IO操作会遇到标题所示的一系列问题,但这些问题不是一个级别的,故不能一概而论。其中,同步,异步为最基本的概念;其次,阻塞,非阻塞是同步处理的策略,而IOCP则是异步处理策略;再次,RabbitMQ, ZeroMQ, Kafka等MQ则是基于异步的封装插件。因此,这不是一个层面的概念。---个人理解而已。相关资料IO基本概念Linux环境同步异步阻塞...转载 2018-05-08 11:43:52 · 525 阅读 · 0 评论 -
RabbitMQ学习系列 : RabbitMQ安装与配置
目前使用3.6.12不能进入后台,但可以直接安装后进行程序中配置并使用。1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitMQ之前要先安装Erlang。 erlang:http://www.erlang.org/download.html rabbitmq:http://www.rabbitmq.com/download.html ...转载 2018-05-09 10:43:15 · 413 阅读 · 0 评论 -
RabbitMQ学习系列 : C# 如何使用 RabbitMQ
上一篇已经讲了Rabbitmq如何在Windows平台安装,还不了解如何安装的朋友,请看我前面文章 , 今天就来聊聊 C# 实际开发的过程中,怎么调用 用RabbitMQ。 一、客户端 RabbitMQ.Client 是rabbitmq 官方提供的的客户端,net 版本地址 :http://www.rabbitmq.com/dotnet.html EasyNetQ 是基于Rab...转载 2018-05-09 10:43:25 · 591 阅读 · 0 评论 -
C#之RabbitMQ系列(二)--Hello World
生产者–消费者模式上一篇讨论了如何搭建我们的开发环境,无论使用哪种语言,服务的部署肯定都是相同的。摘自官网:RabbitMQ is a message broker. In essence, it accepts messages from producers, and delivers them to consumers. In-between, it can route, buffer, an...转载 2018-05-09 10:43:34 · 243 阅读 · 0 评论 -
C#之RabbitMQ系列(三)--Work Queues
工作队列 使用场景:Work Queue被用以处理大量耗时任务,与其等待任务处理完毕耗费大量cpu资源,还不如立即返回并交由代理worker随后处理message。消息持久化生产者和消费者的代码和上一节Publish-Consumer基本相同,唯一不同的是配置项的参数调整。代码如下:using System;using System.Collections.Generic;using Sys...转载 2018-05-09 10:43:43 · 539 阅读 · 0 评论 -
.Net高并发解决思路之RABBITMQ
首先在windows上安装好Redis,RabbitMQRedis-cli使用示例ModelContext.cs代码: public class ModelContext : DbContext { //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config) //连接字符串。 ...转载 2018-09-26 17:37:24 · 3343 阅读 · 0 评论 -
RabbitMQ能打开的最大连接数
RabbitMQ自带了显示能够接受的最大连接数,有2种比较直观的方式:1. rabbitmqctl命令。 123456789101112 n$ rabbitmqctl statusStatus of node 'rabbit@10-101-17-13' ...[{pid,23658}, ...... {file_descript...转载 2018-11-06 10:42:15 · 4103 阅读 · 0 评论 -
RabbitMQ基础学习笔记(C#代码示例)
RabbitMQ基础学习笔记(C#代码示例)一、定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发)。MQ是一种应用程序对应用程序的通信方法。应用程序通过读写入队和出队的消息来通信,无需专用连接来链接它们。 消息传递是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,一般应用于远程过程调用的技术。转载 2018-05-09 13:40:14 · 432 阅读 · 0 评论 -
RabbitMQ学习系列(六): RabbitMQ 高可用集群
前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用。不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/category/855479.html本来一直想写一个介绍RabbitMQ高可用的集群的文章。不过,后来发现园子里,有个已经RabbitMQ大牛写了,关于高可用集群的文章了。特别巧合的是,还是以前公司的...转载 2018-05-09 11:09:24 · 646 阅读 · 0 评论 -
RabbitMQ学习系列(五): RPC 远程过程调用
前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用。不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/category/855479.html不过,最近有朋友问我,RabbitMQ RPC 是干嘛的,有什么用。其实,RabbitMQ RPC 就是通过消息队列(Message Queue)来实现rpc的功能...转载 2018-05-09 11:08:44 · 334 阅读 · 0 评论 -
Rabbitmq基本原理
MQ全称为Message Queue, 是一种分布式应用程序的的通信方法,它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可以读取或者订阅队列中的消息。RabbitMQ是MQ产品的典型代表,是一款基于AMQP协议可复用的企业消息系统。业务上,可以实现服务提供者和消费者之间的数据解耦,提供高可用性的消息传输机制,在实际生产中应用相当广泛。本文转载 2017-12-19 17:32:55 · 306 阅读 · 0 评论 -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere转载 2017-12-19 17:34:18 · 208 阅读 · 0 评论 -
RabbitMQ消息队列(二):”Hello, World“
RabbitMQ消息队列(一): Detailed Introduction 详细介绍 本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。 首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它能保证多转载 2017-12-19 17:35:01 · 231 阅读 · 0 评论 -
RabbitMQ消息队列(三):任务分发机制
RabbitMQ消息队列(二):”Hello, World“ 在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。 当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来bala转载 2017-12-19 17:36:05 · 259 阅读 · 0 评论 -
RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)
RabbitMQ消息队列(三):任务分发机制 上篇文章中,我们把每个Message都是deliver到某个Consumer。在这篇文章中,我们将会将同一个Message deliver到多个Consumer中。这个模式也被成为 "publish / subscribe"。 这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Produc转载 2017-12-19 17:36:49 · 495 阅读 · 0 评论 -
RabbitMQ消息队列(五):Routing 消息路由
上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。1. Bindings绑定 上篇文章中我们是这么做的绑定:[python] view plain copyprint?channel.queue_bind(excha转载 2017-12-19 17:37:29 · 242 阅读 · 0 评论 -
RabbitMQ消息队列(六):使用主题进行消息分发
在上篇文章RabbitMQ消息队列(五):Routing 消息路由 中,我们实现了一个简单的日志系统。Consumer可以监听不同severity的log。但是,这也是它之所以叫做简单日志系统的原因,因为是仅仅能够通过severity设定。不支持更多的标准。 比如syslog unix的日志工具,它可以通过severity (info/warn/crit...) 和模块(auth转载 2017-12-19 17:38:03 · 297 阅读 · 0 评论 -
RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成。那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例。1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class。 它将会向外转载 2017-12-19 17:38:43 · 246 阅读 · 0 评论 -
RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)
什么是ProtoBuf? 一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。 它可以作为RabbitMQ的Message的数据格式进行传输,由于是结构化转载 2017-12-19 17:39:27 · 409 阅读 · 0 评论 -
RabbitMQ消息队列(九):Publisher的消息确认机制
在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack。那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理。 在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consume了转载 2017-12-19 17:39:58 · 297 阅读 · 0 评论 -
C#操作RabbitMQ的完整实例
一、下载RabbitMQhttp://www.rabbitmq.com/install-windows.html二、下载OTPhttp://www.erlang.org/downloads三、安装OTP、RabbitMQ四、配置RabbitMQ找到bat的目录执行相关命令1.添加用户密码 rabbitmqctl add_user wenli转载 2017-12-20 09:00:14 · 6614 阅读 · 0 评论 -
[c#]RabbitMQ的简单使用
摘要Message Queue消息队列,简称MQ,是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此通信。MQ是消费-生产者模型的一个典型代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。安装官网地址:http://w转载 2017-12-20 09:01:20 · 2320 阅读 · 0 评论 -
RabbitMQ安装与web后台管理界面开启
首先介绍一下RabbitMQ: RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。附windows下载地址 http://www.rabbi...转载 2019-01-29 12:27:25 · 646 阅读 · 1 评论