4.3.2 异步操作

时间 : 16-12-18 栏目 : 网站架构 作者 : 老薛 评论 : 3 点击 : 964 次

4.3.2  异步操作

使用消息队列将调用异步化,可改善网站的扩展性(参考本书第7章内容)。事实上,使用消息队列还可改善网站系统的性能,如图4.12和图4.13所示。

在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得响应延迟加剧。在使用消息队列后,用户请求的数据发送给消息队列后立即返回,再由消息队列的消费者进程(通常情况下,该进程通常独立部署在专门的服务器集群上)从消息队列中获取数据,异步写入数据库。由于消息队列服务器处理速度远快于数据库(消息队列服务器也比数据库具有更好的伸缩性),因此用户的响应延迟可得到有效改善。

消息队列具有很好的削峰作用--即通过异步处理,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务。在电子商务网站促销活动中,合理使用消息队列,可有效抵御促销活动刚开始大量涌入的订单对系统造成的冲击。如图4.14所示。

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/architecture/2148.html

4.3.2 异步操作:目前有3 条留言

  1. Post: 2016-12-19 上午9:12

    rabbitmq/activemq用的很多

  2. Post: 2016-12-19 上午9:14

    消息队列是高并发架构中必不可少的一个重要环节。

    • admin
      admin
      Post: 2016-12-19 上午9:20

      电商系统中一般都是通过消息队列(rabbitmq)实现服务的解耦
      进而将服务进行拆分,以此支持更高并发的请求。

发表评论

3 + 1 = ?


博主微信号,很高兴为您提供帮助

随便看看

3