一.什么是消息队列?
消息队列(MQ) ,指保存消息的一个容器,本质是个队列。但这个队列呢,需要支持高吞吐,高并发,并且高可用。
01.业界消息队列对比
Kafka: 分布式的、分区的、多副本的日志提交服务,在高吞吐场景下发挥较为出色
RocketMQ: 低延迟、强一致、高性能、高可靠、万亿级容量和灵活的可扩展性,在一些实时场景中运用较广
Pulsar: 是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体、采用存算分离的架构设计
BMQ: 和Pulsar架构类似,存算分离,初期定位是承接高吞吐的离线业务场景,逐步替换掉对应的Kafka集群
二.个人感悟
- 经过几天的学习,深刻了解到我不会的还有很多,还要多加学习。
- 补充一下队列的知识,队列是一种先进先出的线性表,只允许在表的一端进行插入,而在另一端删除元素。这和日常生活中的排队是一致的, 最早进入队列的元素最早离开。在队列中,允许插入的一端称为队尾,允许删除的一端则称为队头。队列中的元素是按照前后的顺序进入的,退出队列也只能按照这个次序依次退出。
- 队列的应用场景,队列在程序设计中也经常出现,一个典型的例子就是操作系统中的作业排队。在允许多道程序运行的计算机系统中,同时有几个作业运行。如果运行的结果都需要通过通道输出,那么 就要按请求输入的先后次序排队。每当通道传输完毕可以接受新的输出任务时,队头的作业先从队列中退出做输出操作。凡是申请输出的作业都从队尾进入队列。