如何打造卓越的消息队列系统?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1696个文字,预计阅读时间需要7分钟。
亲爱的,我是【架构摆渡人】,一个十年的程序猿。这是消息队列系列的第一篇文章,这个系列将和大家分享很多在实际工作中实用的经验。如果有所收获,请分享给更多朋友。通过前方>继续阅读。
大家好,我是,一只十年的程序猿。这是消息队列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。
通过前面文章的学习,我们对消息队列的作用以及目前主流的一些消息队列中间件有了更深刻的了解。但是那些优秀的中间件都是别人写出来的,如果你在面试的时候,面试官问你:如果让你去设计一个消息队列,你打算怎么做?如果你对消息队列了解的不彻底,那么很有可能被这个问题问懵掉,最后支支吾吾的说不知道。
服务端我们从日常使用消息队列来入手,看设计一个消息队列到底要有哪些关键的点。当你要用消息队列的时候首先肯定是下载部署包,然后部署在服务器上。部署的这个程序我们就理解它是消息队列的服务端程序。在其他消息队列里面都有一个固定的名称:Broker。
那么为什么需要Broker呢?你的消息要发送出去,必然得有接收方,这个接收方就是Broker。Broker收到消息后不是直接转给消费方,而是要先落盘,存储起来。这样才能保证消息不丢失,不影响业务。同时还有一些其他的业务操作,比如消息的查询。
存储既然说到存储,我们做业务的时候,都会用三方存储,也就是数据库,比如Mysql。但是MQ的存储,基本上都不会用三方存储,而是直接采用写磁盘的方式,也就是自己要设计要存储格式,自己写,自己解析等等一系列操作。
当然,也不是说不能用三方存储去实现,下篇文章我们再给大家讲讲如何用数据库做消息队列的存储。用数据库做存储其实也就是利用已有的实现来解决复杂度,涉及到底层存储这块,而且还要考虑高性能,其实对技术要求很高的。
本文共计1696个文字,预计阅读时间需要7分钟。
亲爱的,我是【架构摆渡人】,一个十年的程序猿。这是消息队列系列的第一篇文章,这个系列将和大家分享很多在实际工作中实用的经验。如果有所收获,请分享给更多朋友。通过前方>继续阅读。
大家好,我是,一只十年的程序猿。这是消息队列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。
通过前面文章的学习,我们对消息队列的作用以及目前主流的一些消息队列中间件有了更深刻的了解。但是那些优秀的中间件都是别人写出来的,如果你在面试的时候,面试官问你:如果让你去设计一个消息队列,你打算怎么做?如果你对消息队列了解的不彻底,那么很有可能被这个问题问懵掉,最后支支吾吾的说不知道。
服务端我们从日常使用消息队列来入手,看设计一个消息队列到底要有哪些关键的点。当你要用消息队列的时候首先肯定是下载部署包,然后部署在服务器上。部署的这个程序我们就理解它是消息队列的服务端程序。在其他消息队列里面都有一个固定的名称:Broker。
那么为什么需要Broker呢?你的消息要发送出去,必然得有接收方,这个接收方就是Broker。Broker收到消息后不是直接转给消费方,而是要先落盘,存储起来。这样才能保证消息不丢失,不影响业务。同时还有一些其他的业务操作,比如消息的查询。
存储既然说到存储,我们做业务的时候,都会用三方存储,也就是数据库,比如Mysql。但是MQ的存储,基本上都不会用三方存储,而是直接采用写磁盘的方式,也就是自己要设计要存储格式,自己写,自己解析等等一系列操作。
当然,也不是说不能用三方存储去实现,下篇文章我们再给大家讲讲如何用数据库做消息队列的存储。用数据库做存储其实也就是利用已有的实现来解决复杂度,涉及到底层存储这块,而且还要考虑高性能,其实对技术要求很高的。

