要一直走下去

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  消息队列

摘要:`bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dblab``bin/kafka-topics.sh --list --zookeeper l 阅读全文
posted @ 2020-07-12 08:14 要一直走下去 阅读(80) 评论(0) 推荐(0)

摘要:要开启9092端口 server.properties listeners=PLAINTEXT:// 内网的ip地址和9092端口advertised.listeners=PLAINTEXT://外网的ip的地址和9092端口 阅读全文
posted @ 2020-07-11 14:58 要一直走下去 阅读(656) 评论(0) 推荐(0)

摘要:如果想在任务成功或者失败额外做点事,可以重写Task类。 tasks.py from __future__ import absolute_import, unicode_literals from .celery import app from celery.task import Task cl 阅读全文
posted @ 2020-06-15 23:42 要一直走下去 阅读(2682) 评论(0) 推荐(0)

摘要:实验目标: 访问http://127.0.0.1:8000/task_id/ 返回任务ID:068cd3cc-3572-46c0-9a33-f028772030b1 访问http://127.0.0.1:8000/task_result/?id=068cd3cc-3572-46c0-9a33-f02 阅读全文
posted @ 2020-06-15 13:56 要一直走下去 阅读(655) 评论(2) 推荐(0)

摘要:提交一个耗时的请求, 立即返回ID,拿着这个ID去查询任务处理进程 自己想到的方案:前端请求接口a,(接口a立即开始处理任务,把任务的处理到哪一步放在redis中)前端请求接口b,(接口b立即返回redis中进行到哪一步) 前端先调用接口a(此时接口a阻塞)前端继续轮询接口b获取a进行到哪一步了当接 阅读全文
posted @ 2020-06-12 15:56 要一直走下去 阅读(1012) 评论(0) 推荐(0)

摘要:如果想发一条命令给远程机器,再把结果返回 这种模式叫RPC:远程过程调用 发送方将发送的消息放在一个queue里,由接收方取。 接收方再把执行结果放在另外一个queue里,由发送方取 实际上,发送方把1,随机生成的接收queue名 2,UUID值发过去了(用于确认) 客户端:作用是发送指令 ''' 阅读全文
posted @ 2018-11-12 01:29 要一直走下去 阅读(710) 评论(0) 推荐(0)

摘要:topic模式跟direct差不多,只是把type改一下就行。 direct是把固定的routing_key跟queue绑定,topic是把模糊的routing_key跟queue绑定 原理图: 发布者: ''' 发布者publisher ''' import pika import sys con 阅读全文
posted @ 2018-11-09 01:19 要一直走下去 阅读(13372) 评论(0) 推荐(0)

摘要:一、 消息的广播需要exchange:exchange是一个转发器,其实把消息发给RabbitMQ里的exchange fanout: 所有bind到此exchange的queue都可以接收消息,广播 direct: 通过routingKey和exchange决定的那个唯一的queue可以接收消息 阅读全文
posted @ 2018-11-08 23:03 要一直走下去 阅读(3659) 评论(0) 推荐(0)

摘要:一、 消息的广播需要exchange:exchange是一个转发器,其实把消息发给RabbitMQ里的exchange fanout: 所有bind到此exchange的queue都可以接收消息,广播 direct: 通过routingKey和exchange决定的那个唯一的queue可以接收消息 阅读全文
posted @ 2018-11-08 21:52 要一直走下去 阅读(4980) 评论(0) 推荐(0)

摘要:有的消费者处理速度快,有的消费者处理速度慢,我们想给处理快的多发消息,处理慢的少发消息, 怎么办呢?按照之前的轮询模式,肯定不行的,这里可以检测消息数量,如果消费者正在处理就不给他发 .... def callback(ch, method, properties, body): print(" > 阅读全文
posted @ 2018-11-08 11:56 要一直走下去 阅读(1302) 评论(0) 推荐(0)

摘要:我们知道,如果消息接收端挂了,消息会保存在队列里。下次接收端启动就会接收到消息。 如果RabbitMQ挂了怎么办呢?这时候需要将消息持久化到硬盘 消息发送端:producer ........... # 建立管道 channel = connection.channel() # 声明队列 1、加上d 阅读全文
posted @ 2018-11-08 11:00 要一直走下去 阅读(560) 评论(0) 推荐(0)

摘要:一、RabbitMQ简介: ''' RabbitMQ就是消息队列 之前不是学了Queue了吗,都是队列还学RabbitMQ干嘛? 干的事情是一样的 Python的Queue有两个, 一个线程Queue生产者消费者模型,一个进程Queue用于父进程与子进程交互 两个完全独立的Python程序就不能交互 阅读全文
posted @ 2018-11-07 22:25 要一直走下去 阅读(2410) 评论(0) 推荐(0)

摘要:一、下载安装ERLANG语言 otp_win64_20.3.exe 一直下一步。然后设置环境变量 ERLANG_HOME C:\Program Files\erl9.3 二、安装RabbitMQ 一直下一步。查看该服务处于启动状态。 三、安装包:pika 阅读全文
posted @ 2018-11-07 21:34 要一直走下去 阅读(418) 评论(0) 推荐(0)