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

坂田网站的建设模板网站建设套餐

坂田网站的建设,模板网站建设套餐,动态excel图表制作教程,北京免费建站模板MQ 一、同步调用和异步调用1. 同步调用2. 异步调用 二、RabbitMQ1. 基础使用2. 实际操作 怎么用?3. RabbitMQ虚拟主机 数据隔离4. 在JAVA中实现RabbitMQ5. 交换机种类 一、同步调用和异步调用 1. 同步调用 微服务一旦拆分,必然涉及到服务之间的相互调用&#xff…

MQ

  • 一、同步调用和异步调用
    • 1. 同步调用
    • 2. 异步调用
  • 二、RabbitMQ
    • 1. 基础使用
    • 2. 实际操作 怎么用?
    • 3. RabbitMQ虚拟主机 数据隔离
    • 4. 在JAVA中实现RabbitMQ
    • 5. 交换机种类

一、同步调用和异步调用

1. 同步调用

微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中,调用者发起请求后需要等待服务提供者执行业务返回结果后,才能继续执行后面的业务。也就是说调用者在调用过程中处于阻塞状态,因此我们称这种调用方式为同步调用,也可以叫同步通讯。但在很多场景下,我们可能需要采用异步通讯的方式。
以下方式不一定都必须使用同步调用。
在这里插入图片描述
同步调用缺点:

  1. 拓展性差:每次有新的需求,现有支付逻辑都要跟着变化,代码经常变动,不符合开闭原则,拓展性不好。
  2. 性能下降:由于我们采用了同步调用,调用者需要等待服务提供者执行完返回结果后,才能继续向下执行,也就是说每次远程调用,调用者都是阻塞等待状态。最终整个业务的响应时长就是每次远程调用的执行时长之和。
  3. 级联失败:一个服务失败会导致后面的都没办法正常执行

2. 异步调用

异步调用方式其实就是基于消息通知的方式,一般包含三个角色:

  • 消息发送者:投递消息的人,就是原来的调用方
  • 消息Broker:管理、暂存、转发消息,你可以把它理解成微信服务器
  • 消息接收者:接收和处理消息的人,就是原来的服务提供方
    在这里插入图片描述
    在这里插入图片描述

二、RabbitMQ

1. 基础使用

  1. 我们同样基于Docker来安装RabbitMQ。
  2. 安装完成后,我们访问 http://192.168.150.101:15672即可看到管理控制台。首次访问需要登录,默认的用户名和密码在配置文件中已经指定了。
  3. 在这里插入图片描述
  • publisher:生产者,也就是发送消息的一方
  • consumer:消费者,也就是消费消息的一方
  • queue:队列,存储消息。生产者投递的消息会暂存在消息队列中,等待消费者处理
  • exchange:交换机,负责消息路由。生产者发送的消息由交换机决定投递到哪个队列。
  • virtual host:虚拟主机,起到数据隔离的作用。每个虚拟主机相互独立,有各自的exchange、queue

个人理解:
在这里插入图片描述
用这个图举例子,已知2已经修改完支付状态
生产者发送给交换机:支付服务把支付成功消息发送给消息代理
交换机通过路由策略把消息发送给特定队列
交易服务、通知服务,这些服务代表消费者,都在监听和他们绑定的队列,一旦队列中有消息就读取,执行对应操作。
虚拟主机的意思:一个项目可能对应一个MQ虚拟主机,以后有其他项目再新建一个虚拟主机

2. 实际操作 怎么用?

  1. 新建交换机
  2. 新建队列
  3. 绑定交换机和队列
  4. 发送消息测试

注意:交换机不能存储消息,只能路由

3. RabbitMQ虚拟主机 数据隔离

首先就要建立用户

  1. 层次关系:每个用户操作同一个项目都得有自己的虚拟主机,不能操作别人的虚拟主机

4. 在JAVA中实现RabbitMQ

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发送者发送消息
在这里插入图片描述
消费者接收消息
在这里插入图片描述
1. workQueue
在这里插入图片描述
如果有两个消费者,因为刚开始消费者处理消息都是轮流处理,但是有的消费者能力强,有的弱,但是仍然是轮流处理,这样会导致效率变慢,因此修改消费者的消费策略。在这里插入图片描述

5. 交换机种类

1. Fanout交换机(广播)
在这里插入图片描述

2. Direct交换机(指定部分队列)
在这里插入图片描述
3. Topic交换机
在这里插入图片描述
不同队列对应不同主题,用bindingkey设置,当消息发送时都会指定一个routingkey,如果这个消息符合某个bindingkey,则发送到指定队列上。

6. 基于代码生成交换机
在这里插入图片描述
在这里插入图片描述

7.基于注解声明交换机
在消息接收者处使用@RabbitListener注解进行声明交换机和注解

在这里插入图片描述
8. 消息转换器
在这里插入图片描述
在这里插入图片描述
所以使用json序列化代替默认的JDK序列化
在这里插入图片描述

http://www.yayakq.cn/news/220609/

相关文章:

  • 广东官网网站建设怎么样app平台开发公司
  • 婚纱网站策划书模板西双版纳网站建设公司
  • 一个内部网站如何做外网映射微分销系统多少钱
  • 网站开发需要什么人wordpress 购物分享
  • 织梦可以做论坛网站软件开发外包管理
  • 衡阳商城网站制作wordpress最新主题
  • 建设工程有限公司企业网站电脑编程培训
  • 成都公司网站百度收录网站方法
  • 做网站怎么赚钱滑县电wordpress 内容换行
  • 两学一做网站网站推广普通话宣传标语
  • 网站注册页面怎么做数据验证网站空间站
  • 网站建设资讯吴川网站建设
  • 机关网站源码服装设计工作室
  • 温州网站建设钢筋工中国好设计
  • 沈阳网站开发公司网站建设gzzhixun
  • 网赌网站建设多少钱深圳营业执照网上申报入口
  • 湛江城乡建设局网站电子商务旅游网站建设策划书
  • 公共资源交易网站建设方案开发小网站一般多少钱一个
  • 东莞市非凡网站建设南京it培训机构
  • 装修公司做宣传在哪个网站app设计原理
  • 网站红色继续好商会网站建设
  • 大气的企业网站源码网站推广的策略有哪些
  • 快速seo整站优化排行东阳高端营销型网站建设品牌
  • 建动画网站需要多少钱什么是网站静态化
  • 工信部企业网站备案吗建设网站个人简介范文
  • 个人博客网站制作教程做网站1核1g服务器够吗
  • 快乐麻花网站源码wordpress访客ip记录
  • 电商网站的需求文档上海网站建设公公司
  • 事业单位网站建设工作方案公司注册资金最低标准
  • 织梦网站需要付费吗wordpress页面属性模板