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

网站建设网络拓扑百度seo关键词优化公司

网站建设网络拓扑,百度seo关键词优化公司,软件下载中心,游戏音效设计师培训1、初识MQ MQ全称是Message Queue#xff0c;消息队列#xff0c;多用于系统之间进行异步通信。队列的概念数据结构中有详细介绍过#xff0c;先进先出#xff0c;消息队列就是存储消息的数据结构。 同步调用和异步调用两者之间的区别#xff1a; 同步调用#xff1a;发…1、初识MQ MQ全称是Message Queue消息队列多用于系统之间进行异步通信。队列的概念数据结构中有详细介绍过先进先出消息队列就是存储消息的数据结构。  同步调用和异步调用两者之间的区别 同步调用发送方需要等待接收方的响应待接收方返回结果之后发送方才会进行后续的处理逻辑。因此同步调用是阻塞模式。 异步调用发送方不需要等待接收方的响应发送方将调用消息发到接收方之后就会继续进行后续的处理逻辑。当被调用的函数或方法执行完成后再回调处理结果。这样可以提高程序的并发性充分利用计算机资源提高程序的运行效率。异步调用是非阻塞模式。 其中MQ是实现系统之间异步通信的常用方式。 如下是两种调用方式的示意图 同步调用 异步调用 2、MQ的优势和劣势 下面介绍使用MQ的优势和劣势其实也是对比【同步调用】和【异步调用】之间的优势劣势。 2.1 优势  2.1.1 应用解耦 考虑上述这样一个购物场景用户在订单系统进行下单在同步调用的方式下订单系统会依次调用库存系统、支付系统、物流系统并且在每个系统都返回响应结果之后才会进行后续调用执行。其中调用部分的代码都在订单系统中。后续如何系统进行扩展下单的时候需要调用X系统那么订单系统部分的代码就需要进行修改增加X系统的调用。导致系统之间的耦合性过高扩展极为不便。 而且如果下单的时候调用库存系统失败库存系统短暂停止服务2分钟那么后续的环节也都会执行失败。即使后面库存系统恢复服务该笔下单也会失败。 但是如果我们借助MQ把系统建设为异步调用的方式订单系统把订单发布到MQ之后订单系统继续后续的处理逻辑。库存系统、支付系统、物流系统分别订阅MQ中的消息进行处理之后如果需要再把X系统、Y系统纳入订单系统也不需要进行修改只需要加入订阅即可。这样系统之间就完成了解耦。 而且如果下单的时候恰好遇到库存系统短暂停止服务2分钟也不会导致下单失败。后面库存系统恢复服务从MQ中取出订单进行处理即可。 所以借助MQ我们实现了应用之间的解耦。 2.2 异步提速 还是上面的购物场景同步调用的方式相当于是串行执行所以整个环节完成之后耗时920ms对于用户来讲会感觉到系统响应缓慢体验不好。 但是如果通过MQ实现异步调用订单系统发送到MQ之后就把“下单成功”的消息返回给用户之后库存系统、支付系统、物流系统分别从MQ中取消息进行处理但是这个处理MQ消息的过程我们就不用等待。整个流程的时间只有25ms大大提升了响应速度和用户体验。 但是如果库存系统、支付系统、物流系统中的某个系统处理的时候判断订单不能执行比如缺少库存怎么办这个时候根据库存系统返回的消息订单系统的回调函数会更新订单状态更新为【订单下单失败库存不足】。所以一开始返回的“下单成功”消息更准确的来讲应该是“下单指令发送成功”但是订单的最终状态应该等待后面三个系统的处理结果最终决定。 2.3 削峰填谷 假设我们A系统每秒钟最大处理1000请求当请求突然增多每秒钟来5000请求就会造成积压系统处理缓慢用户后面发来的请求就会等待比较长的时间。 如果我们借助MQ请求都先进入MQ然后A系统按照自己的最大处理能力每秒钟从MQ中取出1000个请求进行处理系统承担的压力就会减小消息都积压在MQ中不会积压在系统端超出系统的最大承受能力。 2.4 优势总结 2.2 劣势 2.2.1 系统可用性降低 引入MQ之后系统之间的交互都通过MQ进行MQ的稳定性非常重要一旦MQ宕机整个系统就会瘫痪因此必须保证MQ的高可用。 2.2.2 系统复杂度提高 引入MQ之后需要考虑 消息有没有被重复消费消息丢失怎么处理消息传递的顺序性怎么保证 2.2.3  一致性问题 A系统通过MQ向B、C、D系统发送消息如果B系统和C系统处理成功D系统处理失败消息数据处理的一致性如何保证。 2.3 总结 通过上面的介绍我们进行总结在什么样的场景下我们可以选择使用MQ 生产者不需要从消费者处获得反馈在尚未获得反馈的情况下不影响生产者后续的执行。容许内容短暂的不一致性以上面的购物场景为例订单系统发送订单消息之后返回下单成功的消息但是这个时候库存系统、支付系统、物流系统尚未处理完成库存尚未减少账户金额尚未扣减和下单成功的状态是不一致的。系统需要能够容许这种数据不一致的情况短暂存在。确实有效果且利大于弊使用MQ的优势获得的收益大于我们维护MQ付出的成本。  3、常见的MQ产品 参考资料 1、1_MQ的重要性_哔哩哔哩_bilibili 2、https://blog.csdn.net/weixin_44031029/article/details/124169861 3、blog.csdn.net/hong521520/article/details/106671930
http://www.hkea.cn/news/14287931/

相关文章:

  • 惠州个人做网站联系人女生学动漫制作技术好就业吗
  • 用织梦做的学校网站网站单选框的实现
  • 网站推广策划思路银川做网站
  • 温州微网站开发网站建设服务哪家有
  • 免费收录网站提交2021年度关键词有哪些
  • 从事网站开发网页美工设计流程的正确排序
  • 鹤壁市淇县网站建设基于android的移动互联网开发
  • 河北省建设厅管网站网站建设方案合同
  • 做logo什么网站四川省安全社区建设网站
  • 高端企业网站信息深圳电子商务网站开发
  • 专注番禺网站优化企业网站推广联系方式
  • 考二建需要什么学历和专业seo竞争对手分析
  • 专题页网站手机网站建设的公司排名
  • 做网站需要什么花费毕业设计做网站前端
  • 网站开发8080无法访问此页面旅游网站设计需求分析
  • 网站维护 静态页面怎么申请免费企业邮箱账号
  • 做静态网站接单免费咨询医生在线解答
  • 瑞金市网站建设怎么样制作一个网页
  • 搭建一个个人网站中国建设报官方网站
  • 网站建设在哪里办公如何查看网站域名证书
  • 南京集团网站建设江门网站建设自助建站
  • php网站开发个人职责wordpress英文版修改栏
  • 新兴建设网站qq音乐wordpress
  • 网站改版需要注意哪些seo问题个人网站建设教学视频
  • 做土特产的网站有哪些腾讯云wordpress建站
  • swf做网站头纪念平台网站建设
  • 石家庄网站建设蓝龙今天的最新新闻内容
  • 摄影师网站护肤品网站建设方案
  • 网站开头flash怎么做律师网站建设怎么样
  • 什么网站可以查建设用地规划许可证餐饮加盟网站怎么做