RabbitMQ

Send async Task<IActionResult> from receiver to Sender in MASSTRANNSIT

人走茶凉 提交于 2020-03-04 15:57:27
问题 I am stuck at one point in Azure ServiceBus Queue implementation using MASSTRANSIT. Below is my scenario and code. My Sender is in EventController.cs and its code is as follow's. [ProducesResponseType(202)] [ProducesResponseType(400)] [ProducesResponseType(401)] [ProducesResponseType(404)] [HttpPut("{applicationNumber}/{systemId}/DipDecisionUpdated/{decisionId}")] public async Task<IActionResult> DipDecisionUpdated([Required]string applicationNumber, [Required]SystemEnum systemId, [Required

安装RabbitMQ

China☆狼群 提交于 2020-03-03 18:41:45
概述 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。 安装Erlang 1.安装基础包:gcc ncurses-devel yum install gcc yum install ncurses-devel 2.去官网下载对应版本的Erlang (1)编译安装erlang (2)rpm包安装 由于本次安装erlang是为了支持rabbitmq的安装,并非为了Erlang的开发使用 所以选择rpm包安装 下载地址: http://www.rabbitmq.com/releases/erlang/ 根据环境不同选择不同版本 本机选用版本: erlang-19.0.4-1.el6.x86_64.rpm 3.安装Erlang rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm 4.安装完后输入“erl”以下提示即为安装成功: [root@localhost ~]#

RabbitMQ与SpringBoot整合

倾然丶 夕夏残阳落幕 提交于 2020-03-03 15:38:33
前文总结了Dubbo与SpringBoot的整合( https://www.cnblogs.com/cott/p/12373043.html ),本文基于这套框架,引入RabbitMQ消息队列。 1.在linux环境使用docker安装RabbitMQ //拉取镜像docker pull rabbitmq:management //启动镜像 docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management 安装成功后登陆控制台 2.生产者 pom.xml中引入RabbitMQ依赖 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId>   

C#调用RabbitMQ实现消息队列

大城市里の小女人 提交于 2020-03-03 10:27:40
C#调用RabbitMQ实现消息队列 前言 我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的。 所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始。 关于消息队列 其实消息队列没有那么神秘,我们这样想一下,用户访问网站,最终是要将数据以HTTP的协议的方式,通过网络传输到主机的某个端口上的。 那么,接收数据的方式是什么呢?自然是端口监听啦。 那消息队列是什么就很好解释了? 它就是端口监听,接到数据后,将数据排列起来。 那这件事,我们不用中间件能做吗? 当然能做啦,写个TCP/UDP/Socket的软件就可以做啦。 举个简单的例子,如下图: 既然自己可以做消息队列,那为什么要用RabbitMQ? 因为,RabbitMQ成熟的开源中间件,可靠性有保证,bug少,性能也非常好。 而C#代码默认是使用托管内存的,所以,想写出媲美RabbitMQ性能的消息队列,就必须离开我们常用的托管内存,使用非托管内存,但这个代价就太大了;而且最终能否达到RabbitMQ的性能水平还是个未知数。 还有就是RabbitMQ除了基础的消息队列管理,还有很多很强大的额外功能,而自己开发消息队列,很难如此尽善尽美。 --------------------------------------------------------------------

Centos 7 环境下安装 RabbitMQ 3.6.10

雨燕双飞 提交于 2020-03-02 23:59:38
一、单机安装 在Centos7系统下部署(阿里云服务),使用yum安装 hostnamectl set-hostname rabbit01 #永久修改 1.1安装Erlang,因为RabbitMQ 是基于Erlang语言的,因此需要安装Erlang环境 创建一个目录存放rpm安装包,病切换到该目录 mkdir /home/rabbitcd /home/rabbit yum 安装 epel-release,此时会去下载安装包,下载完成后会提示确认安装 Is this ok [y/d/N],输入 y 回车开始安装,看到 Complete! 提示时安装成功。 yum install epel-release 安装 Erlang 环境,这个过程可能需要一段时间。看到 Complete! 提示时安装成功 yum -y install erlang 1.2 安装 RabbitMQ 下载 RabbitMQ-3.6.10 安装包(虚拟机中可以需要自己手动安装 “wget”) wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm 开始安装,当看到 Complete! 提示时,安装完成 yum -y install rabbitmq-server-3.6

Windows下 RabbitMQ的安装与配置

為{幸葍}努か 提交于 2020-03-02 19:12:30
一、RabbitMQ RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。 AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型: 二、安装Erlang RabbitMQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang。 下载地址: http://www.erlang.org/downloads ,根据个人操作不同选择不同版本。如下图所示: 二、安装RabbitMQ 下载地址: http://www.rabbitmq.com/install-windows.html ,根据个人操作不同选择不同版本。 如下图所示: 注:默认安装的Rabbit MQ 监听端口是5672 三、开启网页端控制台管理 使用RabbitMQ 管理插件,可以更好的可视化方式查看RabbitMQ 服务器实例的状态

Docker部署MySQL与Redis与Tomcat与RabbitMQ

别等时光非礼了梦想. 提交于 2020-03-02 16:46:36
Docker容器部署MySQL 1创建MySQL镜像 docker pull mysql:5.7 -i 表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 ),通常与 -t 同时使用。 -t 启动后会进入其容器命令行, 通常与 -i 同时使用; 加入 -it 两个参数后,容器创建就能登录进去。即分配一个伪终端。 -d 创建一个守护式容器在后台运行,并返回容器ID; 这样创建容器后不会自动登录容器,如果加 -i 参数,创建后就会运行容器。 -p 表示端口映射,格式为: -p 宿主机端口:容器端口 -it:创建交互式容器,创建之后就直接进入容器,并且exit退出直接退出,与守护式容器-id不同创建后后台运行容器,且exit不会直接退出 2创建守护式MYSQL容器 docker run -id --name=jhjMySQL -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 注释: docker run 创建docker容器 -id :守护式容器:创建之后返回宿主机端,docker容器后台运行 –name= :容器名称 -p:端口号映射:左边宿主机端口号,右边容器端口号,外边访问33306,映射访问容器3306 -e MYSQL_ROOT_PASSWORD=:配置root用户的端口号 mysql:5.7 配置容器镜像

RabbitMQ Linux 下 安装

偶尔善良 提交于 2020-03-02 06:17:02
1. 安装erlang         1.1 下载     wget https://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el6.x86_64.rpm    1.2 安装erlang      rpm -ihv erlang-18.3-1.el6.x86_64.rpm 2.安装RabbitMq    2.1 安装共钥     rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc    2.2 下载rabbitmq( https://www.rabbitmq.com/releases/rabbitmq-server/ )     wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm    2.3 安装     rpm -ihv rabbitmq-server-3.6.6-1.el7.noarch.rpm    2.4 如果提示socat插件     yum install socat    2.5 启动Rabbitmq     service rabbitmq

消息队列的选择:kafka、rabbitmq、zeromq

此生再无相见时 提交于 2020-03-02 04:22:03
最近在做一个数据分析相关的工作,需求是将全国各地idc内的流量信息进行汇总和分析最后吐出一些安全策略,由于对时效性的要求比较高,大概每隔几秒就会有一次几十M的的数据需要传递到汇总服务器上去,而且随着业务的发展数据量还会越来越大,所以使用什么手段来做数据的传输就成为了一个关键的问题。 首先是可扩展性,如果使用标准socket进行传递的话随着数据量的扩大单点肯定会成为瓶颈,而且如果可用性要高的话,异步、缓存、重传等等都是需要考虑的要素,为了开速上线功能就要去几个开源的消息队列里挑选一下合适这个项目的了。 由于团队内的一些推荐和自己以前的经验,初步定下了kafka、rabbitmq、zeromq三个软件,这里主要介绍一下这三个软件各自的特点和功能,详细的使用说明和学习资料后面在补。 一、rabbitmq 首先是百科里的一段话,Rabbitmq是流行的开源消息队列系统,使用erlang语言进行开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。可以说从功能上rabbitmq基本上是符号这次项目要求的工具。 它的优点有: 1、完整的消息队列系统,支持多种消息队列模式,包括竞争消费; 2、基于AMQP 3、支持集群模式,扩展集群容量和性能比较方便,同时集成了集群的监控和管理; 4、支持消息的持久化; 缺点是: 1、需要学习比较复杂的接口和协议,比较耗费时间; 2

消息队列性能比较

本秂侑毒 提交于 2020-03-02 03:49:57
RabbitMQ,ActiveMq,ZeroMq比较 ==结论==:ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。 ==来源==: http://blog.x-aeon.com/2013/04/10/a-quick-message-queue-benchmark-activemq-rabbitmq-hornetq-qpid-apollo/ ==测试环境==: Model: Dell Studio 1749 CPU: Intel Core i3 @ 2.40 GHz RAM: 4 GB OS: Windows 7 64 bits 测试都是采用软件的 默认配置 。 ==测试结果==: 横轴为各个MQ,纵轴为时间,单位秒(s), 时间越少越好 。 ==比较==: 持久性 zeroMq不支持,activeMq和rabbitMq都支持 技术点:可靠性、灵活的路由、集群、事务、高可用的队列、消息排序、problem tracker、可视化管理工具、插件系统、社区 RabbitMq最好,ActiveMq次之,ZeroMq最差。当然ZeroMq也可以做到,不过自己必须手动写代码实现,代码量不小。++可靠性中的: 持久性 、 投递确认 、 发布者证实 和 高可用性 ++。 高并发 从实现语言来看,RabbitMQ最高,原因是它的实现语言是天生具备高并发高可用的erlang语言