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

私人申请建设网站多少钱网站建设需要几个人

私人申请建设网站多少钱,网站建设需要几个人,蒙自市建设局网站,喜欢做网站前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 [本文] 从前面的几篇我们依次经历了 exchange 模式从 fanout direct 的转变过程#xff0c;在 fanout 时 direct 的转变过程在 fanout 时我们只能进行简单的广播对应类型比较单一使用 direct 后消费者则可以进行一定程度的选择但是direct 还是有局限性路由不支持多个条件。 怎么讲呢 direct 不支持匹配 routingKey一但绑定了就是绑定了而 topic 主题模式支持规则匹配只要符合 routingKey 就能发送到绑定的队列上。 文章目录 1. 什么是主题模式2. 代码部分2.1 生产者2.2 *消费者2.3 #消费者2.4 运行截图3. 总结 1. 什么是主题模式 官方链接http://www.rabbitmq.com/tutorials/tutorial-five-java.html topics 主题模式跟 routing 路由模式类似只不过路由模式是指定固定的路由键 routingKey而主题模式是可以模糊匹配路由键 routingKey类似于SQL中 和 like 的关系。 P 表示为生产者、 X 表示交换机、C1C2 表示为消费者红色表示队列。 topics 模式与 routing 模式比较相近topics 模式不能具有任意的 routingKey必须由 一个英文句点号“.”分隔的字符串我们将被句点号“.”分隔开的每一段独立的字符串称为一个单词比如 lazy.orange.fox。topics routingKey 中可以存在两种特殊字符“”与“#”用于做模糊匹配其中“”用于匹配一个单词“#”用于匹配多个单词可以是零个。 * 表示任何一个词 # 表示0或1个词 以上图中的配置为例 如果一个消息的 routingKey 设置为 “xxx.orange.rabbit”那么该消息会同时路由到 Q1 与 Q2routingKeylazy.orange.fox”的消息会路由到Q1与Q2 routingKeylazy.brown.fox”的消息会路由到 Q2 routingKeylazy.pink.rabbit”的消息会路由到 Q2只会投递给Q2一次虽然这个routingKey 与 Q2 的两个 bindingKey 都匹配 routingKeyquick.brown.fox”、routingKeyorange”、routingKeyquick.orange.male.rabbit”的消息将会被丢弃因为它们没有匹配任何bindingKey。 接下来代码为例 2. 代码部分 2.1 生产者 public class ProducerTopic {private static final String EXCHANGE_NAME  my_topic_exchange;public static void main(String[] args) throws IOException, TimeoutException {/** 1.创建新的连接 */Connection connection  MQConnectionUtils.newConnection();/** 2.创建通道 */Channel channel  connection.createChannel();/** 3.绑定的交换机 参数1交互机名称 参数2 exchange类型 */channel.exchangeDeclare(EXCHANGE_NAME, topic);/** 4.发送消息 */String routingKey  log.info.error;String msg  topic_exchange_msg  routingKey;System.out.println([send]    msg);channel.basicPublish(EXCHANGE_NAME, routingKey, null, msg.getBytes());/** 5.关闭通道、连接 */channel.close();connection.close();/** 注意如果消费没有绑定交换机和队列则消息会丢失 */} }2.2 *消费者 public class ConsumerLogXTopic {private static final String QUEUE_NAME  topic_consumer_info;private static final String EXCHANGE_NAME  my_topic_exchange;public static void main(String[] args) throws IOException, TimeoutException {System.out.println(log * 消费者启动);/* 1.创建新的连接 */Connection connection  MQConnectionUtils.newConnection();/* 2.创建通道 */Channel channel  connection.createChannel();/* 3.消费者关联队列 */channel.queueDeclare(QUEUE_NAME, false, false, false, null);/* 4.消费者绑定交换机 参数1 队列 参数2交换机 参数3 routingKey */channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, log.*);DefaultConsumer consumer  new DefaultConsumer(channel) {Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)throws IOException {String msg  new String(body, UTF-8);System.out.println(消费者获取生产者消息:  msg);}};/* 5.消费者监听队列消息 */channel.basicConsume(QUEUE_NAME, true, consumer);}}2.3 #消费者 public class ConsumerLogJTopic {private static final String QUEUE_NAME  topic_consumer_info;private static final String EXCHANGE_NAME  my_topic_exchange;public static void main(String[] args) throws IOException, TimeoutException {System.out.println(log # 消费者启动);/* 1.创建新的连接 */Connection connection  MQConnectionUtils.newConnection();/* 2.创建通道 */Channel channel  connection.createChannel();/* 3.消费者关联队列 */channel.queueDeclare(QUEUE_NAME, false, false, false, null);/* 4.消费者绑定交换机 参数1 队列 参数2交换机 参数3 routingKey */channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, log.#);DefaultConsumer consumer  new DefaultConsumer(channel) {Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)throws IOException {String msg  new String(body, UTF-8);System.out.println(消费者获取生产者消息:  msg);}};/* 5.消费者监听队列消息 */channel.basicConsume(QUEUE_NAME, true, consumer);}}2.4 运行截图 生产者 星花*消费者 #消费者 3. 总结 1、topic 相对于之前几种算是比较复杂了简单来说就是每个队列都有其关心的主题所有的消息都带有一个“标题”(RouteKey)exchange 会将消息转发到所有关注主题能与 routeKey 模糊匹配的队列。 2、在进行绑定时要提供一个该队列关心的主题如“#.sscai.#”表示该队列关心所有涉及 sscai 的消息(一个 routeKey 为 club.sscai.tmax”的消息会被转发到该队列)。 3、#”表示0个或若干个关键字“”表示一个关键字。如“club.”能与“club.sscai”匹配无法与“club.sscai.xxx”匹配但是“club.#”能与上述两者匹配。 4、同样如果 exchange 没有发现能够与 routeKey 匹配的 Queue则会抛弃此消息。 案例代码https://www.lanzous.com/i5ydu6d
http://www.zqtcl.cn/news/168804/

相关文章:

  • 黄页网站推广app软件查企业公司用什么软件
  • 网站设计机构培训全自动网页制作系统源码
  • 外贸网站建设收益深圳建设厅官网
  • 跟网站开发有关的内容东莞市生态环境局
  • dw软件做的东西怎么在网站用网站备案抽查通过
  • 重庆建设集团网站首页wordpress主题inn
  • 对京东网站建设的总结湖北做网站的
  • 杭州网站开发后端招郑州工装定制
  • 网站搭建论文filetype ppt 网站建设
  • 个人做营利性质网站会怎么样如何引用网站上的资料做文献
  • 新网站制作市场泰安做网站哪家好
  • 常熟苏州网站建设flash如何制作网站
  • 电商网站都是用什么做的网站服务器维护方案
  • 简述企业网站建设的流程手机怎么自己做网页
  • 网站备案信息管理呼图壁网站建设
  • 网站建设学习资料开发一套软件需要多少钱
  • 大庆网站设计衡阳seo网站推广
  • 基层科普网站建设的现状自己做的网站怎样链接数据库
  • 网站建设工程师的职位要求化妆品行业网站开发
  • 做海报有什么素材网站知乎什么样的蓝色做网站做好看
  • 餐饮网站建设网站wordpress优酷视频插件下载
  • 什么网站做广告效果好wordpress中文cms
  • seo与网站优化广州洲聚网站开发
  • 建一个自己用的网站要多少钱北京网站建设价格天
  • 免费做婚礼邀请函的网站如何设定旅游网站seo核心关键词
  • 网上做问卷调查赚钱哪些网站好全flash网站制作
  • 个人网站备案核验单填写wordpress登录安全插件下载
  • 拖拽做网站cms系统设计
  • 村建站什么部门网站建设步骤图
  • 移动端网站建设的意义中工信融网站建设