后端程序员必备技术栈,如何选择合适的消息队列

开发 前端
在此之前,我们了解了消息队列的作用,那么消息队列如何进行选择呢?选择消息队列,我们要注意以下几点。

 在此之前,我们了解了消息队列的作用,那么消息队列如何进行选择呢?选择消息队列,我们要注意以下几点。

 

[[345321]]

 

基础能力

不同的消息队列有着不同的特点,但是以下几点,是无论哪种消息队列,都需要进行考虑的。首先是可靠性,也就是我们常说的不丢消息,如果一个消息队列无法保证消息可靠,那么就会遇到大麻烦,查问题,修数据便是家常便饭。其次是分布式,一个好的消息队列,必须是支持集群的,而非单机模式。假如消息队列无法分布式部署,网络的波动,硬件的故障,就有你好受。第三是性能,如果一个消息队列的性能太差,就意味着消息的消费可能延迟,就可能影响到很多业务,造成业务不可用,得不偿失。

 

开源

对于大部分的公司来说,自己去重复造轮子的意义并不是很大,我们拿来开源的项目来使用的效果更好。为什么是开源而不是一些厂商提供的二进制呢?是代码就有bug,无论是多么成熟的项目,如果你在使用这个消息队列的时候遇到问题了,开源项目,你至少还有阅读源码,改一改搏一搏的可能,无需等待厂商进行发版修复。

流行

除非某个冷门的MQ正好有你需要的某种特性,否则建议大家尽量使用流行的方案。就跟买车一样,尽量不要买小众的汽车,平时开起来是没有什么问题,但是一旦坏了,需要修的时候,小众的汽车就麻烦多了。软件也是如此,如果你使用的是RMQ,kafka这类中间件,你遇到的问题,可能很多人也遇到过,这个时候就可以站在巨人的肩膀上,快速解决问题。

 

生态

一个好的生态,对中间件的发展是非常重要的。就好比SpringCloud等,拥有丰富的生态,在SpringCloud这个巨人身上,你介入一个新的组建都是非常的方便。消息队列也是如此,举个例子,Kafka与Flink,Flink内置了Kafka的DataSource,开发流式应用非常的方便,无需其他开发。

责任编辑:华轩 来源: 今日头条
相关推荐

2020-10-09 14:44:57

程序员开发技术

2009-03-02 09:40:13

程序员程序语言开发

2009-02-27 09:25:28

编程语言程序员C#

2019-06-23 17:37:58

Linux后端函数栈

2022-05-19 15:08:43

技术函数调用栈Linux

2019-11-23 23:21:44

程序员前端全栈

2020-07-02 10:43:38

程序员技术设计

2014-11-26 09:25:53

2020-04-20 19:00:30

程序员分布式事务架构

2019-12-13 15:00:16

索引MySQL数据库

2022-10-24 09:00:47

画图工具程序员XMind

2009-07-28 08:28:15

2009-06-25 09:33:43

Java API程序员

2020-04-10 16:30:16

SQL数据库索引

2021-06-29 08:29:25

开源程序员github

2015-05-26 09:17:34

程序员泛泛涉猎

2014-08-15 14:25:48

Android程序员资源

2011-06-11 20:59:12

程序员

2014-08-20 10:28:29

Android

2019-09-25 11:39:07

程序员编程技术
点赞
收藏

51CTO技术栈公众号