面试官问你什么是消息队列?把这篇甩给他!
体系A执行完了往后,将userId写到动静行列中,然后就直接返回了(至于其他的操纵,则异步处理赏罚)。
(例子也许举得不太好,但我认为声名到点子上就行了,留情。) 2.3削峰/限流 我们再来一个场景,此刻我们每个月要搞一次大促,大促时代的并发也许会很高的,好比每秒3000个哀求。假设我们此刻有两台呆板处理赏罚哀求,而且每台呆板只能每次处理赏罚1000个哀求。 那多出来的1000个哀求,也许就把我们整个体系给搞崩了…以是,有一种步伐,我们可以写到动静行列中: 体系B和体系C按照本身的可以或许处理赏罚的哀求数去动静行列中拿数据,这样即便有每秒有8000个哀求,那只是把哀求放在动静行列中,去拿动静行列的动静由体系本身去节制,这样就不会把整个体系给搞崩。 三、行使动静行列有什么题目? 颠末我们上面的场景,我们已经可以发明,动静行列能做的事其拭魅照旧蛮多的。 说到这里,我们先回到文章的开头,"显着JDK已经有不少的行列实现了,我们还必要动静行列中间件呢?"着实很简朴,JDK实现的行列种类固然有许多种,可是都是简朴的内存行列。为什么我说JDK是简朴的内存行列呢?下面我们来看看要实现动静行列(中间件)也许要思量什么题目。 3.1高可用 无论是我们行使动静行列来做解耦、异步照旧削峰,动静行列必定不能是单机的。试着想一下,假如是单机的动静行列,万一这台呆板挂了,那我们整个体系险些就是不行用了。 以是,当我们项目中行使动静行列,都是得集群/漫衍式的。要做集群/漫衍式就肯定但愿该动静行列可以或许提供现成的支持,而不是本身写代码手动去实现。 3.2 数据丢失题目 我们将数据写到动静行列上,体系B和C还没来得及打动静行列的数据,就挂掉了。假如没有做任何的法子,我们的数据就丢了。 学过Redis的都知道,Redis可以将数据耐久化磁盘上,万一Redis挂了,还能从磁盘从将数据规复过来。同样地,动静行列中的数据也必要存在此外处所,这样才尽也许镌汰数据的丢失。 那存在哪呢?
同步存储照旧异步存储? 3.3斲丧者怎么获得动静行列的数据? (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |