自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

四大常用MQ的優(yōu)缺點(diǎn)和應(yīng)用場(chǎng)景選擇

開發(fā) 架構(gòu)
消息隊(duì)列(MQ),是一種應(yīng)用程序?qū)?yīng)用程序的通信方法。應(yīng)用程序通過寫和檢索出入列隊(duì)的針對(duì)應(yīng)用程序的數(shù)據(jù)(消息)來通信,而無需專用連接來鏈接它們。

一、優(yōu)缺點(diǎn)

ActiveMQ

官網(wǎng)地址:http://activemq.apache.org/

官網(wǎng)介紹

Apache ActiveMQ是最流行的開源、多協(xié)議、基于Java的消息代理。它支持行業(yè)標(biāo)準(zhǔn)協(xié)議,因此用戶可以從多種語言和平臺(tái)的客戶端選擇中獲益。從JavaScript、C、C++、Python、.NET等多個(gè)客戶端連接。使用無處不在的AMQP協(xié)議集成多平臺(tái)應(yīng)用程序。使用STOMP over WebSocket在web應(yīng)用程序之間交換消息。使用MQTT管理您的物聯(lián)網(wǎng)設(shè)備。支持您現(xiàn)有的JMS基礎(chǔ)架構(gòu)及其他基礎(chǔ)架構(gòu)。ActiveMQ提供了支持任何消息傳遞用例的能力和靈活性。

優(yōu)點(diǎn)

單機(jī)吞吐量萬級(jí),時(shí)效性 ms 級(jí),可用性高,基于主從架構(gòu)實(shí)現(xiàn)高可用性,消息可靠性較低的概率丟失數(shù)據(jù)

缺點(diǎn)

官方社區(qū)現(xiàn)在對(duì) ActiveMQ 5.x 維護(hù)越來越少,高吞吐量場(chǎng)景較少使用。

Kafka

官網(wǎng)地址:http://kafka.apache.org/

官網(wǎng)介紹

超過80%的財(cái)富100強(qiáng)公司信任并使用卡夫卡。

Apache Kafka是一個(gè)開放源代碼的分布式事件流平臺(tái),被數(shù)千家公司用于高性能數(shù)據(jù)管道、流分析、數(shù)據(jù)集成和任務(wù)關(guān)鍵型應(yīng)用程序。

優(yōu)點(diǎn)

性能卓越,單機(jī)寫入TPS 約在百萬條/秒,最大的優(yōu)點(diǎn),就是吞吐量高。時(shí)效性 ms 級(jí)可用性非常高,kafka 是分布式的,一個(gè)數(shù)據(jù)多個(gè)副本,少數(shù)機(jī)器宕機(jī),不會(huì)丟失數(shù)據(jù),不會(huì)導(dǎo)致不可用,消費(fèi)者采用 Pull 方式獲取消息, 消息有序, 通過控制能夠保證所有消息被消費(fèi)且僅被消費(fèi)一次;有優(yōu)秀的第三方Kafka

Web 管理界面 Kafka-Manager;在日志領(lǐng)域比較成熟,被多家公司和多個(gè)開源項(xiàng)目使用;功能支持:功能較為簡(jiǎn)單,主要支持簡(jiǎn)單的 MQ 功能,在大數(shù)據(jù)領(lǐng)域的實(shí)時(shí)計(jì)算以及日志采集被大規(guī)模使用。

缺點(diǎn)

Kafka 單機(jī)超過 64 個(gè)隊(duì)列/分區(qū),Load 會(huì)發(fā)生明顯的飆高現(xiàn)象,隊(duì)列越多,load 越高,發(fā)送消息響應(yīng)時(shí)間變長(zhǎng),使用短輪詢方式,實(shí)時(shí)性取決于輪詢間隔時(shí)間,消費(fèi)失敗不支持重試;支持消息順序,但是一臺(tái)代理宕機(jī)后,就會(huì)產(chǎn)生消息亂序,社區(qū)更新較慢;

RocketMQ

官方網(wǎng)站:http://rocketmq.apache.org/

官網(wǎng)介紹

由于ActiveMQ和Kafka不能滿足阿里的需求,他們決定發(fā)明一種新的消息傳遞引擎來處理更廣泛的用例集,從傳統(tǒng)的發(fā)布/訂閱場(chǎng)景到高容量實(shí)時(shí)零丟失容錯(cuò)事務(wù)系統(tǒng)。我們相信這個(gè)解決方案是有益的,所以我們希望向社區(qū)開放源代碼。今天,有100多家公司在其業(yè)務(wù)中使用開源版本的RocketMQ。

優(yōu)點(diǎn)

單機(jī)吞吐量十萬級(jí),可用性非常高,分布式架構(gòu),消息可以做到 0 丟失,MQ 功能較為完善,還是分

布式的,擴(kuò)展性好,支持 10 億級(jí)別的消息堆積,不會(huì)因?yàn)槎逊e導(dǎo)致性能下降,源碼是 java 我們可以自己閱讀源碼,定制自己公司的 MQ

缺點(diǎn)

支持的客戶端語言不多,目前是 java 及 c++,其中 c++不成熟;社區(qū)活躍度一般,沒有在MQ

核心中去實(shí)現(xiàn) JMS 等接口,有些系統(tǒng)要遷移需要修改大量代碼

RabbitMQ

官方網(wǎng)站:https://www.rabbitmq.com/

官網(wǎng)介紹

RabbitMQ 是部署最廣泛的開源消息代理。

RabbitMQ擁有數(shù)萬用戶,是最流行的開源消息代理之一。從T-Mobile到Runtastic,RabbitMQ在世界各地的小型初創(chuàng)公司和大型企業(yè)中使用。

RabbitMQ是輕量級(jí)的,易于在本地和云中部署。它支持多種消息傳遞協(xié)議。RabbitMQ可以在分布式和聯(lián)合配置中部署,以滿足高規(guī)模、高可用性需求。

RabbitMQ運(yùn)行在許多操作系統(tǒng)和云環(huán)境上,并為最流行的語言提供了廣泛的開發(fā)工具。

優(yōu)點(diǎn)

由于 erlang 語言的高并發(fā)特性,性能較好;吞吐量到萬級(jí),MQ 功能比較完備,健壯、穩(wěn)定、易

用、跨平臺(tái)、支持多種語言 如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持 AJAX 文檔齊全;開源提供的管理界面非常棒,用起來很好用,社區(qū)活躍度高;更新頻率相當(dāng)高

缺點(diǎn)

商業(yè)版需要收費(fèi),學(xué)習(xí)成本較高

二、MQ 的應(yīng)用場(chǎng)景及選擇

1、ActiveMQ

ActiveMQ支持任何消息傳遞用例的能力和靈活性,比較適合小型吞吐量比較小的公司進(jìn)行使用,或者M(jìn)Q起步學(xué)習(xí)的首選。

2、Kafka

Kafka 主要特點(diǎn)是基于Pull 的模式來處理消息消費(fèi),追求高吞吐量,一開始的目的就是用于日志收集和傳輸,適合產(chǎn)生大量數(shù)據(jù)的互聯(lián)網(wǎng)服務(wù)的數(shù)據(jù)收集業(yè)務(wù)。大型公司建議可以選用,大數(shù)據(jù)分析必備,如果有日志采集功能,肯定是首選 kafka 了。

3、RocketMQ

天生為金融互聯(lián)網(wǎng)領(lǐng)域而生,對(duì)于可靠性要求很高的場(chǎng)景,尤其是電商里面的訂單扣款,以及業(yè)務(wù)削峰,在大量交易涌入時(shí),后端可能無法及時(shí)處理的情況。RoketMQ 在穩(wěn)定性上可能更值得信賴,這些業(yè)務(wù)場(chǎng)景在阿里雙 11 已經(jīng)經(jīng)歷了多次考驗(yàn),如果你的業(yè)務(wù)有上述并發(fā)場(chǎng)景,建議可以選擇 RocketMQ。

4、RabbitMQ

結(jié)合 erlang 語言本身的并發(fā)優(yōu)勢(shì),性能好時(shí)效性微秒級(jí),社區(qū)活躍度也比較高,管理界面用起來十分方便,如果你的數(shù)據(jù)量沒有那么大,中小型公司優(yōu)先選擇功能比較完備的 RabbitMQ。

責(zé)任編輯:姜華 來源: 小王博客基地
相關(guān)推薦

2021-03-04 09:00:00

架構(gòu)Lambda工具

2016-10-21 14:44:01

桌面云云平臺(tái)

2019-12-19 14:33:08

人工智能網(wǎng)絡(luò)安全機(jī)器學(xué)習(xí)

2018-05-15 15:47:32

2014-05-28 18:34:17

2011-04-27 17:03:43

投影機(jī)

2010-10-21 09:30:26

Mac OS

2024-12-30 11:24:56

APMZipkinPinpoint

2024-01-25 10:14:09

HashSetHashMapJava

2023-08-29 08:47:13

設(shè)計(jì)模式Springboot

2024-12-30 08:29:05

2021-03-10 13:29:55

物聯(lián)網(wǎng)IoT

2021-06-01 08:25:06

Node.jsJavaScript運(yùn)行

2022-01-06 14:49:13

數(shù)字經(jīng)濟(jì)華為

2022-09-20 07:36:43

云原生存儲(chǔ)方案

2023-06-05 08:07:33

JavaJava SPI

2012-05-29 09:23:23

HTML5移動(dòng)應(yīng)用框架jQTouch

2012-07-12 09:41:42

2021-07-05 09:18:08

UPS電源

2018-06-25 14:52:26

TiDB數(shù)據(jù)庫CTO
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)