RabbitMQ

Refused connection to RabbitMQ when using docker link

南楼画角 提交于 2020-05-29 07:26:07
问题 I have a microservices application which has two services and a rabbit mq used as a message queue for communication between them. Now, I want to deploy them on docker. I have the following code in the docker-compose.yml file: version: "3" services: rabbitmq: build: ./Rabbit hostname: "rabbitmq" container_name: "rabbitmq" environment: RABBITMQ_ERLANG_COOKIE: "cookie" RABBITMQ_DEFAULT_USER: "user" RABBITMQ_DEFAULT_PASS: "pass" RABBITMQ_DEFAULT_VHOST: "/" ports: - "15672:15672" - "5672:5672" #

RabbitMQ Pika and Django Channels websocket

你。 提交于 2020-05-28 07:16:31
问题 I am using Django Channels and RabbitMQ pika, for the first time. I am trying to consume from RabbitMQ queue. I am using Django Channels AsyncConsumer to group send it to everyone connected in the websocket. User type 1 : Can create a task User type 2 : Can accept the task. Use case : When user type 1 creates the task it is published in the rabbitmq. When it is consumed from the queue, it has to be group-sent to frontend. And when the user type 2 accepts the task other instances of user type

RabbitMQ Connection reset

夙愿已清 提交于 2020-05-26 02:31:32
问题 I'm trying to connect a simple RabbitMQ using java code to my server (which is executing the RabbitMQ service). Executing the following code (source here) gives me the java.net.SocketException: Connection Reset exception. import java.io.*; import java.security.*; import com.rabbitmq.client.*; public class test { public static void main(String[] args) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("myIP"); //myIP is just dummy text, I have a real IP

RabbitMQ Connection reset

吃可爱长大的小学妹 提交于 2020-05-26 02:30:07
问题 I'm trying to connect a simple RabbitMQ using java code to my server (which is executing the RabbitMQ service). Executing the following code (source here) gives me the java.net.SocketException: Connection Reset exception. import java.io.*; import java.security.*; import com.rabbitmq.client.*; public class test { public static void main(String[] args) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("myIP"); //myIP is just dummy text, I have a real IP

Connecting to RabbitMQ container with docker-compose

强颜欢笑 提交于 2020-05-11 05:23:59
问题 I want to run RabbitMQ in one container, and a worker process in another. The worker process needs to access RabbitMQ. I'd like these to be managed through docker-compose . This is my docker-compose.yml file so far: version: "3" services: rabbitmq: image: rabbitmq command: rabbitmq-server expose: - "5672" - "15672" worker: build: ./worker depends_on: - rabbitmq # Allow access to docker daemon volumes: - /var/run/docker.sock:/var/run/docker.sock So I've exposed the RabbitMQ ports. The worker

Connecting to RabbitMQ container with docker-compose

我怕爱的太早我们不能终老 提交于 2020-05-11 05:23:31
问题 I want to run RabbitMQ in one container, and a worker process in another. The worker process needs to access RabbitMQ. I'd like these to be managed through docker-compose . This is my docker-compose.yml file so far: version: "3" services: rabbitmq: image: rabbitmq command: rabbitmq-server expose: - "5672" - "15672" worker: build: ./worker depends_on: - rabbitmq # Allow access to docker daemon volumes: - /var/run/docker.sock:/var/run/docker.sock So I've exposed the RabbitMQ ports. The worker

java RabbitMQ面试题附pdf答案(最全版本持续更新)

放肆的年华 提交于 2020-05-09 20:26:25
前言 涵盖各大公司会问到的面试点,同时随着版本的升级,可能也会有一些面试题更新,也会同步保持更新,因为篇幅原因(其实是我懒,哈哈)所以列了一部分答案,所有的答案见下文,总共485页合计20个技术点,文末自取pdf. 1、什么是 rabbitmq 采用 AMQP 高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦. 2、为什么要使用 rabbitmq 1、在分布式系统下具备异步,削峰,负载均衡等一系列高级功能; 2、拥有持久化的机制,进程消息,队列中的信息也可以保存下来。 3、实现消费者和生产者之间的解耦。 4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流,利于数据库的操作。 5.可以使用消息队列达到异步下单的效果,排队中,后台进行逻辑下单。 3、使用 rabbitmq 的场景 1、服务间异步通信 2、顺序消费 3、定时任务 4、请求削峰 4、如何确保消息正确地发送至 RabbitMQ? 如何确保消息接. 收方消费了消息? 发送方确认模式 将信道设置成 confirm 模式(发送方确认模式),则所有在信道上发布的消息都会被指派一个唯一的 ID。一旦消息被投递到目的队列后,或者消息被写入磁盘后(可持久化的消息),信道会发送一个确认给生产者(包含消息唯一 ID)。 如果 RabbitMQ

CAP.DotNet源码追踪(一)消息是如何执行的,执行后又是如何执行回调的

北慕城南 提交于 2020-05-09 15:09:41
CAP源码追踪(一)消息是如何执行的,执行后又是如何执行回调的 场景 .NET Core 3.1 nuget包:DotNetCore.CAP.RabbitMQ 3.0.2 前言 以对话为引,梳理我们的问题: 小明-聪明绝顶的程序猿,小红-绝美程序媛 小红:小明,在CAP中,我们通过 CapSubscribe 特性来订阅方法,而我们写的消息处理中,返回值一般都是void/Task,那么这个返回值类型有什么用呀或者说这个返回值有什么用呢? 小明一看表现的机会来了,马上回复了一句:百因必有果,既然有返回类型这个东西,那么CAP设计者肯定会利用这一点来进行应用,不会无故忽视这个功能的 小红:小明,那它到底有什么作用呢? 小明:既然想知道它的作用,那么就应该去学习它的消息执行原理,分析其执行过程,自然就明白它的返回值的作用了。 小红:哇,问题一下从返回值的作用上升到了CAP执行原理了,小明,快给我讲讲呀😉 小明心想是时候表演真正的技术了~✨ @# *$&( #@*&(^$#@( 正文 从应用层面来看,我们使用CAP主要就是使用它的消息发送和订阅,既然要学习它的执行原理,那么就直接从消息发送出发来学习 MQ发送 以常用情况为例,我们通过注册的 ICapPublisher 下的 PublishAsync 来发送消息 首先先看一下方法定义: Task PublishAsync<T>(string

docker-compose安装rabbitmq

只谈情不闲聊 提交于 2020-05-09 13:31:24
编写时间:2020-05-08 参考文档: docker安装rabbitmq 1. 编写docker-compose.yml version: '3' services: rabbitmq: image: rabbitmq: 3.8.3 -management container_name: rabbitmq restart: always hostname: myRabbitmq ports: - 15672:15672 - 5672:5672 volumes: - ./data:/var/lib/rabbitmq environment: - RABBITMQ_DEFAULT_USER=root - RABBITMQ_DEFAULT_PASS=root 2. 浏览器访问 ip:15672即可,用户名,密码输入root登录。 注意: 1. application.yml文件中推荐为docker容器设置hostname,因为rabbitmq默认使用hostname作为存储数据的节点名,设置hostname可以避免生成随机的节点名,方便追踪数据。官网原文如下 One of the important things to note about RabbitMQ is that it stores data based on what it calls the "Node Name",

一口气说出 6种 延时队列的实现方法,面试官也得服

…衆ロ難τιáo~ 提交于 2020-05-09 08:45:27
五一期间原计划是写两篇文章,看一本技术类书籍,结果这五天由于自律性过于差,禁不住各种诱惑,我连电脑都没打开过,计划完美宣告失败。所以在这能看出和大佬之间的差距,人家没白没夜的更文,比你优秀的人比你更努力,难以望其项背,真是让我自愧不如。 知耻而后勇,这不逼着自己又学起来了,个人比较喜欢一些实践类的东西,既学习到知识又能让技术落地,能搞出个 demo 最好,本来不知道该分享什么主题,好在最近项目紧急招人中,而我有幸做了回面试官,就给大家整理分享一道面试题:“ 如何实现延时队列? ”。 下边会介绍多种实现延时队列的思路,文末提供有几种实现方式的 github 地址。其实哪种方式都没有绝对的好与坏,只是看把它用在什么业务场景中,技术这东西没有最好的只有最合适的。 一、延时队列的应用 什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。 延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在30分钟内没有支付,自动取消订单 2、外卖平台发送订餐通知,下单成功后60s给用户推送短信。 3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存 4、淘宝新建商户一个月内还没上传商品信息,将冻结商铺等 。。。。 上边的这些场景都可以应用延时队列解决。 二、延时队列的实现