当前位置: 首页 > news >正文

python做网站比php朋友圈产品推广文案

python做网站比php,朋友圈产品推广文案,建设一个招聘网站,模板建网站多少钱1、 订阅模型-Direct • 有选择性的接收消息 • 在订阅模式中,生产者发布消息,所有消费者都可以获取所有消息。 • 在路由模式中,我们将添加一个功能 - 我们将只能订阅一部分消息。 例如,我们只能将重要的错误消息引导到日志文件…

1、 订阅模型-Direct

• 有选择性的接收消息
• 在订阅模式中,生产者发布消息,所有消费者都可以获取所有消息。
• 在路由模式中,我们将添加一个功能 - 我们将只能订阅一部分消息。
例如,我们只能将重要的错误消息引导到日志文件(以节省磁盘空间),同时仍然能够在控制台上打印所有日志消息。
• 但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。
• 在Direct模型下,队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key)
• 消息的发送方在向Exchange发送消息时,也必须指定消息的routing key。
在这里插入图片描述

• P:生产者,向Exchange发送消息,发送消息时,会指定一个routing key。
• X:Exchange(交换机),接收生产者的消息,然后把消息递交给 与routing key完全匹配的队列
• C1:消费者,其所在队列指定了需要routing key 为 error 的消息
• C2:消费者,其所在队列指定了需要routing key 为 info、error、warning 的消息

1.1、生产者

此处我们模拟商品的增删改,发送消息的RoutingKey分别是:insert、update、delete

public class Send {private final static String EXCHANGE_NAME = "direct_exchange_test";public static void main(String[] argv) throws Exception {// 获取到连接Connection connection = ConnectionUtil.getConnection();// 获取通道Channel channel = connection.createChannel();// 声明exchange,指定类型为directchannel.exchangeDeclare(EXCHANGE_NAME, "direct");// 消息内容String message = "商品新增了, id = 1001";// 发送消息,并且指定routing key 为:insert ,代表新增商品channel.basicPublish(EXCHANGE_NAME, "insert", null, message.getBytes());System.out.println(" [商品服务:] Sent '" + message + "'");channel.close();connection.close();}
}

1.2、消费者1

我们此处假设消费者1只接收两种类型的消息:更新商品和删除商品。

public class Recv {private final static String QUEUE_NAME = "direct_exchange_queue_1";private final static String EXCHANGE_NAME = "direct_exchange_test";public static void main(String[] argv) throws Exception {// 获取到连接Connection connection = ConnectionUtil.getConnection();// 获取通道Channel channel = connection.createChannel();// 声明队列channel.queueDeclare(QUEUE_NAME, false, false, false, null);// 绑定队列到交换机,同时指定需要订阅的routing key。假设此处需要update和delete消息channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "update");channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "delete");// 定义队列的消费者DefaultConsumer consumer = new DefaultConsumer(channel) {// 获取消息,并且处理,这个方法类似事件监听,如果有消息的时候,会被自动调用@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties,byte[] body) throws IOException {// body 即消息体String msg = new String(body);System.out.println(" [消费者1] received : " + msg + "!");}};// 监听队列,自动ACKchannel.basicConsume(QUEUE_NAME, true, consumer);}
}

1.3、 消费者2

我们此处假设消费者2接收所有类型的消息:新增商品,更新商品和删除商品。

public class Recv2 {private final static String QUEUE_NAME = "direct_exchange_queue_2";private final static String EXCHANGE_NAME = "direct_exchange_test";public static void main(String[] argv) throws Exception {// 获取到连接Connection connection = ConnectionUtil.getConnection();// 获取通道Channel channel = connection.createChannel();// 声明队列channel.queueDeclare(QUEUE_NAME, false, false, false, null);// 绑定队列到交换机,同时指定需要订阅的routing key。订阅 insert、update、deletechannel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "insert");channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "update");channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "delete");// 定义队列的消费者DefaultConsumer consumer = new DefaultConsumer(channel) {// 获取消息,并且处理,这个方法类似事件监听,如果有消息的时候,会被自动调用@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties,byte[] body) throws IOException {// body 即消息体String msg = new String(body);System.out.println(" [消费者2] received : " + msg + "!");}};// 监听队列,自动ACKchannel.basicConsume(QUEUE_NAME, true, consumer);}
}

1.4、测试

我们分别发送增、删、改的RoutingKey,发现结果:

在这里插入图片描述

在这里插入图片描述

http://www.rdtb.cn/news/13279.html

相关文章:

  • 如何与知名网站做友情链接整合营销传播的六种方法
  • 进出口贸易网优化设计答案六年级上册语文
  • 贵州省交通建设工程质量监督局网站游戏优化是什么意思
  • 云南昆明做网站百度资讯
  • 长沙做官网的公司seo常用分析的专业工具
  • 网站系统安全防护体系建设方案 下载银川seo优化
  • 深圳电商网站制作公司厦门网络推广外包多少钱
  • 做像58这种分类信息网站赚钱吗seo在线优化工具
  • 沈阳学习做网站seo怎么优化网站排名
  • 建一个网站大概需要多长时间网站建站流程
  • 黄岛开发区做网站网络公司上海今日头条新闻
  • cfa一级看多久台州做优化
  • 积极推进在线网站建设好用的种子搜索引擎
  • 动态网站的例子广西疫情最新消息
  • 文登区城乡建设和规划局网站现在的seo1发布页在哪里
  • 怎样下载网站模版营销网络推广哪家好
  • 网站建设免费建站免费源代码百度品牌
  • 刚刚传来最新消息手机seo排名软件
  • 网站建设市场趋势域名注册购买
  • 广州免费网站建设推广软件平台
  • 南阳做网站优化价格国家免费培训学校
  • 铜煤建设网站山东工艺美术学院网站建设公司
  • 常德百姓网关键词首页排名优化
  • 福田做网站社交网络的推广方法
  • 传奇手游开服表网站网站建设 全网营销
  • 快速web网站开发网站开发技术有哪些
  • 南昌网站排名优化报价seo优化就业前景
  • 可以做ppt的网站有哪些内容大连网站制作
  • 佛山 网址开发 网站制作2024年的新闻时事热点论文
  • 苹果网站用什么做的吗百度收录技术