Tag: rabbitmq

使用–net = host时,如何将芹菜容器连接到rabbitmq容器?

使用–net = host时,我无法将芹菜容器连接到rabbitmq容器。 我开始我的rabbitmq: docker run -d –rm –net=host –hostname=rabbitmq –name=rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=donald -e RABBITMQ_DEFAULT_PASS=duck rabbitmq-mgnt 我的rabbitmq服务器是在DNS中定义的: nslookup amqp Server: 127.0.0.1 Address: 127.0.0.1#53 Name: amqp.service.consul Address: 10.68.32.180 我可以连接和validation凭据: curl -i -u donald:duck http://amqp:15672/api/whoami HTTP/1.1 200 OK vary: Accept-Encoding, origin Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) Date: Mon, 27 Feb 2017 […]

如何从rabbitmq docker的spring-boot中创buildrabbitmq队列

我已经失去了一整天的时间来试图获得spring-amqp示例项目,并运行在dockm版本的rabbitmq上。 我只是运行标准的rabbitmq docker。 虽然我没有任何连接问题,但是我总是会得到有关创build队列的exception,而且我尝试了所有可能的变体。 我试图只是在我的configuration中像示例项目一样声明队列。 我已经尝试明确configuration一个RabbitAdmin。 我已经尝试明确configuration整个自动configuration混乱。 我已经在rabbitmq中创build了一个新用户,并且明确赋予了权限。 我试过只使用队列名称,而没有实际声明队列bean。 我已经尝试将队列和RabbitAdmin注入其他bean,以强制它们被创build。 不pipe我尝试什么,我得到以下错误: 2017-04-24 17:42:19.709 WARN 37360 — [cTaskExecutor-1] osarlistener.BlockingQueueConsumer : Failed to declare queue:"incoming" 2017-04-24 17:42:19.715 WARN 37360 — [cTaskExecutor-1] osarlistener.BlockingQueueConsumer : Queue declaration failed; retries left=3 org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException: Failed to declare queue(s):["incoming"] at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.attemptPassiveDeclarations(BlockingQueueConsumer.java:621) ~[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:520) ~[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1382) [spring-rabbit-1.7.1.RELEASE.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] Caused by: […]

芹菜:工人在“broker_heartbeat”秒后收到第一个任务

Environment: – Vagrant (1.9.1) Ubuntu 14.04: – Docker (version 1.12.5): – RabbitMQ v3.6.5 – Client (Celery app v4.0.2, Python 2.7) – Server (Celery app v4.0.2, Python 3.5) 用例:functiontesting。 Workflow #1: 1. py.test (TestApp) starts in docker RabbitMQ and Server application. 2. TestApp registers "new" Client by sending task to Server. 3. TestApp starts in docker […]

rabbitmq工人继续下线

我一直在使用rabbitmq作为我的芹菜工人的经纪人,这是我的气stream应用的一部分。 所有这三个 – rabbitmq,芹菜和气stream都在docker集装箱。 我有3个节点上的芹菜工人与我的主服务器上的rabbitmq进行对话以代理这个工作。 应用程序工作正常,当我最初提出,但工人一段时间后离线。 这个问题似乎与rabbitmq在哪里closures了他们下线的工人的渠道。 这里是rabbitmq错误的实际文本: 017-05-24T14:31:39.922152707Z =ERROR REPORT==== 24-May-2017::14:31:39 === 2017-05-24T14:31:39.922160602Z Ranch listener rabbit_web_dispatch_sup_15672 had connection process started with cowboy_protocol:start_link/4 at <0.11802.6> exit with reason: {[{reason,badarg},{mfa, {rabbit_mgmt_wm_whoami,is_authorized,2}},{stacktrace,[{ets,lookup, [rabbit_user,<<"airflow">>],[]},{rabbit_misc,dirty_read,1, [{file,"src/rabbit_misc.erl"},{line,390}]}, {rabbit_auth_backend_internal,internal_check_user_login,2, [{file,"src/rabbit_auth_backend_internal.erl"},{line,122}]}, {rabbit_access_control,try_authenticate,3, [{file,"src/rabbit_access_control.erl"},{line,88}]}, {rabbit_access_control,'-check_user_login/2-fun-0-',4, [{file,"src/rabbit_access_control.erl"},{line,74}]},{lists,foldl,3, [{file,"lists.erl"},{line,1263}]},{rabbit_mgmt_util,is_authorized,6, [{file,"src/rabbit_mgmt_util.erl"},{line,149}]},{cowboy_rest,call,3, [{file,"src/cowboy_rest.erl"},{line,976}]}]},{req,[{socket,#Port<0.198143>}, {transport,ranch_tcp},{connection,keepalive},{pid,<0.11802.6>},{method, <<"GET">>},{version,'HTTP/1.1'},{peer,{{172,17,0,1},59755}},{host,<<"my-server">>},{host_info,undefined},{port,15672}, {path,<<"/api/whoami">>},{path_info,undefined},{qs,<<>>},{qs_vals,[]}, {bindings,[]},{headers,[{<<"host">>,<<"my-server:15672">>}, {<<"connection">>,<<"keep-alive">>},{<<"authorization">>, <<"BasicYWlyZmxvdzphaXJmbG93">>},{<<"user-agent">>, <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 […]

RabbitMQ,docker,单队列,多个消费者

我们在我们的系统中使用了Docker,Spring和RabbitMq。 我是AMQP的新手,我试图弄清楚交换,队列,绑定和连接是如何在我们的系统中工作的。 我们有多个dockerized应用程序。 简而言之,当应用程序启动的时候,他们每个人都开始听同一个队列,我不明白他们怎么能期望收到相同的消息。 在stackoverflow有一些类似的问题,给我的印象是,我们目前的系统可能有缺陷。 更详细地说: Docker容器启动时,不同容器中的多个应用程序使用RabbitAdmin declare the same exchange: rabbitAdmin.declareExchange(exchange) declare the same queue: rabbitAdmin.declareQueue(queue) bind those together: rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exhange).with("theSameKey"); 他们这样做是因为他们想听同样的信息。 据我所知,只有一个dockerized程序pipe理创build交换和队列,其余的尝试,但没有任何效果。 之后,这些应用程序中的每一个都会为队列创build并启动SimpleMessageContainers: simpleMessageContainer.setMessageListener(messageListener) simpleMessageContainer.addQueueNames(queue.getName()) simpleMessageContainer.start() 使用rabbitmqctl和rabbitmq的web界面,我可以看到单个队列在不同的渠道上有多个消费者,对应不同的docker容器。 是不是这样,messageListener驻留在应用程序中,但是当调用addQueueNames时,RabbitMq为代理中的队列创build一个Consumer,然后这个Consumer通过与应用程序本地messageListener的连接转发消息? 由于不同Docker容器中的多个应用程序都这样做,因此同一队列中有多个Consumers,就像我在rabbitmqctl中看到的一样。 我不明白的是,RabbitMq不是以循环的方式将消息传递到队列中的消息队列,所以只有一个docker应用程序会收到它? 这些交stream是直接的,话题types,没有扇出交stream。 如果所有dockerized应用程序想要接收相同的消息,那么不应该为自己的队列名称使用相同的exhance为相同的exhance创build一个自己的队列,但使用相同的路由密钥? 我没有看到目前的实施可能正常工作。

无法从泊坞窗容器中的微服务连接到localhost中的rabbit

我已经创build了一个微型服务,它有rabbitmq队列的消费者和生产者。 我可以在本地机器上运行这个微服务没有任何问题。 但是当我尝试部署这是docker集装箱,它不能连接到我的主机中的rabbitmq。 我试过localhost,主机ip,–add-host,但没有为我工作。 我可以从容器ping主机ip,但telnet挂起。

访问Docker RabbitMQ集群在Masstransit上失败

我已经用RabbitMQ托pipe了两个Docker容器(请参阅下面的Docker文件)。 我使用rabbitmqctl join_cluster将两个RabbitMQ实例组合到了一个集群中。 两个RabbitMQ实例的集群名称都是rabbit@rabbit 。 如果我使用rabbitmq://localhost:5673/作为连接URL,则可以与群集的单个实例进行通信。 但是,如果我使用rabbitmq://rabbit@rabbit/ ,则MassTransit无法连接。 如何为MassTransit构build连接string,该连接string可以与RabbitMQ集群(具有故障切换pipe理)进行通信? public static IBusControl ConfigureBus(string rabbitMqUri, string userName, string password) { return Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri(rabbitMqUri), hst => { hst.Username(userName); hst.Password(password); }); }); } Docker文件 version: '2' services: rabbit: image: rabbitmq:management hostname: rabbit ports: – "5673:5672" – "15678:15672" environment: – RABBITMQ_ERLANG_COOKIE='mysecret' hamster: image: […]

RabbitMQ与Docker组合rabbitmq.config文件在运行时被replace

我已经尝试了这个次数,每次我运行docker-compose up我的rabbitmq.config文件被取代。 以下是我的dockerfile。 FROM rabbitmq:3.6.11-managment RUN rabbitmq-plugins enable rabbitmq_management RUN rabbitmq-plugins list COPY ./config/rabbitmq.config ../../etc/rabbitmq/ COPY ./config/test.json ../../etc/rabbitmq/ 这是我的Docker-Compose文件。 version: '2' services: rabbit: build: context: . dockerfile: rabbit.dockerfile container_name: rabbit hostname: lightrabbit networks: – rabnet environment: – RABBITMQ_DEFAULT_USER=abcd – RABBITMQ_DEFAULT_PASS=pass volumes: – ./config/rabbitmq:/etc/rabbitmq:rw – ./data:/var/lib/rabbitmq:rw – ./logs:/var/log/rabbitmq:rw ports: – 15672:15672 – 5672:5672 volumes: rabbitdata: driver: […]

pika.exceptions.ConnectionClosed:到172.18.0.3:5672的连接失败:连接被拒绝

我试图连接一个Pika客户端与RabbitMQ服务器。 他们都在不同的docker图像,他们在同一个dockernetworking。 我build立了我的networking docker network create my_first_net 我正在运行RabbitMQ图像rabbitmq docker run -d –network my_first_net –hostname rabbitmqhost -p 35672:15672 -p 45672:5672 rabbitmq 我正在运行Pika图像ms2-1 docker run –network my_first_net –hostname rabbitmq ms2-1 这是pika-client ms2.py的代码: import pika exchange = 'gateway_exchange' myName = 'microservice2' myKey = '#.ms2.#' gwKey = 'gw' credentials = pika.PlainCredentials('guest', 'guest') parameters = pika.ConnectionParameters('rabbitmq', 5672, '/', credentials) def […]

RabbitMQ与Windows服务器的Docker

我在Azure虚拟机上安装了Docker for Windows Server。 现在我正在尝试使用步骤来设置RabbitMQ https://hub.docker.com/r/library/rabbitmq/ docker run -d –hostname my-rabbit –name some-rabbit rabbitmq:3 但是我得到错误。 3:从库/ rabbitmq C:\ Program Files \ Docker \ docker.exe:清单列表条目中没有与windows / amd64匹配的清单。 这是我的docker版本信息 客户: 版本:17.10.0-ee-preview-2 API版本:1.32 Go版本:go1.8.3 Git commit:10e292d build于:周四9月21日19:58:53 2017 OS / Arch:windows / amd64 服务器: 版本:17.10.0-ee-preview-2 API版本:1.32(最低版本1.24) Go版本:go1.8.3 Git commit:777d4a1 build于:周四9月21日20:08:05 2017 OS / Arch:windows / amd64 实验:假 有任何想法吗? […]