想设计一个高并发的消息中间件前,先熟悉一下这些知识点
本文分享自华为云社区《面试必问 | 如何设计一款高并发的消息中间件?》,作者:冰 河。 消息中间件涉及的知识点 要想设计一个具有高并发的消息中间件,那么首先就要了解下消息中间件涉及哪些具体的知识点。通常,设计一个良好的消息中间件最少需要满足如下条件: 生产者、消费者模型。 支持分布式架构。 数据的高可用。 消息数据不丢失。 接下来,我们就针对消息中间件来分别谈谈这些技术点。 生产者消费者模型 相信很多小伙伴对于生产者和消费者模型都比较了解了,简单的说:就是消息中间件能够使其他应用来生产消息,也能够使其他应用来消费相应的消息。 对于生产者和消费者模型,我们需要考虑的问题点就比较多了。接下来,我就一步步来引导大家进行思考。 首先,我们来思考这样一个问题:如果生产者生产了消息,那么消息中间件应该怎样存储相应的数据呢?存储在内存? 存储在磁盘?还是同时存储在内存和磁盘中呢? 如果是将消息数据同时存储在内存和磁盘中,我们又该如何处理这些数据呢?是生产者将消息投递到消息中间件之后,我们就立刻将数据写入磁盘?还是说数据先驻留到内存,然后每隔一段时间刷到磁盘上? 如果是每隔一段时间刷到磁盘上,那我们又...



