——中间件有3个作用,系统解耦、异步处理、分流。我突然想到一种事,中间件就是接头,让二者多者连接。分流是可以理解的,异步基于分流后,也是顺利成章,解耦呢,接头多的,现实生活中一般是易拆卸,这么一想,也就是解耦。让如果是单通,作为延长件使用,比如单向阀,这样应该会起到,安全作用,个人想法。 ———————————————————————————————————— 介绍说明下: 系统解耦场景: ——双11是购物狂节,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口,当库存系统出现故障时,订单就会失败。订单系统和库存系统高耦合。 ——使用中间件后: 就算库存系统出现故障,消息队列也能保证消息的可靠投递,不会导致消息丢失。
——————— 异步处理场景: ——用户注册后,需要发注册邮件和注册短信,发完一个,再发一个( 个人感觉还不够形象或是表达的不行)。 使用中间件后状况: ——将注册信息写入数据库后,发送邮件的同时,发送短信,以上三个任务完成后,返回给客户端,并行的方式能提高处理的时间。
———————— 分流场景: ——假设有一个系统,平时的时候每秒处理几百个请求,每秒的请求量是可以轻松抗住的。突然出现高峰期一下子来了每秒几千个请求,瞬时出现了流量高峰,我们不可能短时间内部署多台机器去抗住的,因为高峰期不是常有的。 但是我就想靠现有配置,解决这个问题。 ——解决方法:此时可以用 MQ中间件来进行流量分流(削峰、细水长流)。所有机器前面部署一层MQ,平时每秒几百请求都可以轻松接收消息。一旦达到高峰,可以积压在MQ里,让那一台机器慢慢处理和消费。等高峰期过了,在消费一段时间,MQ里积压的数据就消费完毕了。 ——缺点就是:客户体验不好,还没好啊,就向上菜一样。 ———————————————————————————————————— 是个人看法或是支持的想法,不是技术文章,是茶余饭后,消遣类的。如果不对,留言下,万分感谢。也可以留个脚印。
