从消息队列中间件的比较说开去

我们公司项目做微服务化框架升级,需要升级消息队列中间件。这个任务就派到我身上了。

由于项目的并发量不是很大,对消息队列中间件的要求不高,加上客户给的钱少,于是项目开始之初我就设计了一个非常简单的实现——用memcacheq就OK。没有集群,没有高可用、也没有考虑高性能。

老大最近发话了:我们不能放纵。项目是可以质量差一点,但我们对自己的要求不能差。加上以后我们会承接更多更重要,安全可靠性要求更高的项目,最好在消息队列中间件的高可用,高可靠性上做一些文章,命令我一定要写一个好一点的中间件选择方案文档。万一以后需要了,也好应付自如,不至于手足无措。

经过三天的学习,我对比了目前开源产品中比较流行的三套中间件产品:RabbitMQ,Kafka和RocketMQ。其他像ZeroMQ,ActiveMQ这些估计也是差不多的,不会有更好的表现。按照网上的大多数人的对比,得出了最好使用RocketMQ的建议。

然而今天早上醒来,我发现我错了,离开项目实际的一切比较都是耍流氓。我之所以得出这样的结论,是认为RocketMQ的吞吐能力强,安全可靠,水平扩展能力强等等。但是别忘了,RabbitMQ和Kafka也一样可以。网上有人说rabbitMQ消息堆积会影响性能,但刚刚才看到可以用惰性队列解决这个问题的。就像我那个项目而言,消息量不大的情况下何必用消息队列中间件呢?用一个ArrayBlockingQuene不就解决了吗?

在我们IT领域,比较不同产品之间的差异似乎成为了非常流行的做法。如果你上百度查询“XX与XX的对比”或者“XX与XX的区别”就可以得出一大堆结果。这些文章有些似乎说得很有道理,其实不然。

就使“主流MVC框架的对比”做说明吧。很多人说Struct2比Struct1更方便更好用,因此推荐用Struct2。前几年出现了SpringMVC,他们又开始推荐SpringMVC了,说它开发更方便,更容易,更强大等。突然之间,SpringMVC似乎也有点落后了,现在又有很多人开始写大量的Spring Boot的介绍文章,说用它会如何如何。

这几年我一路走过来,从Struct1一路升级框架,到现在,并没有发现我们的开发工作量减少了多少。总是有人谈论说:哟,这个框架这么神奇呀,居然可以这样。是啊,挺神奇的,真的可以这样。可是又能怎么样呢?用了它你就可以不用加班了?用了它你的代码就不烂?用了它你就成了高级开发、架构师、技术总监?简单地一句:你太于关注这些框架不会使你的技术真正进步。

你过于关注它们哪个好,其实归根到底只是想用框架代替你少干活,这真的现实吗?我们追求的东西到底是不是本末倒置?我想,我们应该将精力回归到程序员基本功上面:加强学习设计能力,需求分析能力,代码整洁之道。框架只不过是一个工具,中间件要使用也非常方便,这些都不是根本。

程序员应该更关注基本功,更加关注“解决了什么样的问题,是如何解决的”,而不是框架啊这些东西。从struct升级到spring mvc,你的业务代码一句都不会少写,倒不如多重构一下代码,多画UML图,养成良好的编程习惯。基本功扎实时,你会发现一切东西都似曾相识,原理就在我们打基本功的过程中使用过了,只不过现在用同样一种模式解决同样类似的问题而已。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,591评论 18 139
  • 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时...
    预流阅读 584,382评论 51 785
  • 给敢爱敢恨敢说敢做的你 草木有阳光和水 风筝有清风和绳 我有余生还有你 ​​​ 你全...
    张四朵阅读 263评论 0 3
  • 今天,去参加了一个卫计系统的报告会。啥叫卫计呢?就是卫生和计划生育。卫生不是打扫卫生的卫生,是医生和护士那个卫生。...
    花花世界草草人生阅读 1,254评论 0 7
  • 有人说,年轻真好,也有人说,或者真好 对于年轻,大抵有说不完的话吧。 不过,对于死亡,我仅有的概念似乎还停留在六年...
    北港zz阅读 265评论 0 1