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

系统优化之异步、解耦、削峰

首先思考一个问题,什么是异步,为什么我们需要异步?

异步即不需要同时行动或协调就能独立运行的流程。一个同步的进程,需要按部就班的去执行,一系列的接口调用,这样的操作会导致系统响应的变慢,用户体验变差,因此我们需要引入异步这个概念,使得各个流程可以独立运行,缩短系统的响应时间。

通过引入消息队列(MQ),以实现异步、解耦、削峰。通过消息队列转发消息给不同的流程,以实现不同流程的异步操作。以一个商城系统为例,用户在订单页面进行下单操作,支付成功后发生“支付成功消息”到消息队列,消息队列收到消息后发送通知到诸如物流、仓库、营销的流程去,各个流程异步运行。

解耦就是为了降低系统中不同部分之间的依赖性,使得各个组件能够相对独立地进行开发、维护和演化。其主要目标是减少组件之间的紧密耦合,以提高系统的灵活性、可维护性和可扩展性。一般来说,在进行异步改造引入消息队列的时候,就已经进行了解耦操作,对于一个传统的同步系统,物流系统跟订单系统直接练习,订单系统中下单之后就发送信息到物流系统通知发货,这样的模式,系统之间的依赖性是很高的,若物流系统发生故障,订单系统也无法使用。但是引入消息队列之后,若物流系统发生故障,订单系统还是可以照常下单,把消息发送到消息队列中,等物流系统修复之后,再根据消息队列中的消息进行发货。

削峰顾名思义就是限制高流量。在譬如“双11”的时候,大量的用户请求涌入,这个时候,极大可能会造成系统瘫痪。这个时候可以通过以下几个方法来进行削峰:
1、前端设置验证码,阻止作弊器刷单,由于每个用户对验证码和答题的应答时间都不同,这样就可以把用户的访问请求错开了;
2、库存预先写入Redis,基于Redis做高并发下的库存扣减,一旦库存不足,拒绝掉后续所有请求;
3、将下单消息通过mq来进行转发

http://www.sczhlp.com/news/59147/

相关文章:

  • es翻页
  • Spring-WebSocket快速实现WebSocket双向通信
  • 建站产品广州冼村人很有钱吗
  • 校园网站推广方案怎么做免费网站生成
  • 佛山建站公司模板北京机建网站
  • html5做旅游网站深圳哪个网站发布做网站
  • Python模块之parsel 网页内容数据解析模块
  • labor
  • 怎么注册个人的网站公证网站建设管理
  • 做网站创业怎么样内容导购网站模板
  • 初中学生做那个的网站苏州百度推广开户
  • 做网站销售工资怎么样网页制作教程app
  • python做网站开发养生网站建设论文
  • 网站备案名称能重复吗开发一个oa系统多少钱
  • 长沙做php的网站建设微信营销工具
  • 上海移动官网网站建设做网站需要考虑哪些
  • 网站导航结构的优化app手机端电子商务网站功能
  • 山药云搭建网站网站开发哪家公司好
  • 微信小程序推广平台做网站优化如何写方案
  • 自主建站平台西安品牌策划公司排名
  • 2025年新手小白指南!能让你公众号排版效率提升的编辑器
  • Python模块之Cryptodome.Cipher AES加解密模块
  • 目前会展相关网站的建设情况广西住建网官网
  • 网站群建设公司专业的电商网站建设公司
  • wordpress怎么添加字体湛江网站优化快速排名
  • 网页类网站天津做网站的公
  • 龙之向导外贸网站 网络服务公司起名在线生成器
  • 许昌市做网站公司php 网站建设
  • 在线课程软件网站建设费用wordpress互访页面
  • 自助网站建设系统源码东莞最新消息 今天出入