国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ActiveMQ消息中間件應(yīng)用場(chǎng)景

這篇具有很好參考價(jià)值的文章主要介紹了ActiveMQ消息中間件應(yīng)用場(chǎng)景。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

ActiveMQ消息中間件應(yīng)用場(chǎng)景,中間件一、ActiveMQ簡(jiǎn)介

?

  ActiveMQ是Apache出品,最流行的,能力強(qiáng)勁的開源消息總線。ActiveMQ是一個(gè)完全支持JMS1.1和J2EE1.4規(guī)范的JMS Provide實(shí)現(xiàn)。盡管JMS規(guī)范出臺(tái)已經(jīng)是很久的事情了,但是JMS在當(dāng)今的J2EE應(yīng)用中仍然扮演這特殊的地位。

?

二、ActiveMQ應(yīng)用場(chǎng)景

  消息隊(duì)列在大型電子商務(wù)類網(wǎng)站,如京東、淘寶、去哪兒等網(wǎng)站有這深入的應(yīng)用。

?

隊(duì)列的主要作用:消除高并發(fā)訪問高峰,加快網(wǎng)站的響應(yīng)速度。

?

在不使用消息隊(duì)列的情況下,用戶的請(qǐng)求數(shù)據(jù)直接寫入數(shù)據(jù)庫,在高并發(fā)的情況下,對(duì)數(shù)據(jù)庫造成巨大的壓力,同時(shí)也使系統(tǒng)響應(yīng)延遲加??;

?

早使用隊(duì)列后,用戶的請(qǐng)求發(fā)給隊(duì)列后立即返回;

?

例如:當(dāng)然不能直接給客戶提示訂單提交成功,在淘寶上提示:"您提交了訂單,請(qǐng)等等系統(tǒng)確認(rèn)"

?

再由消息隊(duì)列的消費(fèi)者進(jìn)程從消息隊(duì)列中獲取數(shù)據(jù)庫,異步寫入數(shù)據(jù)庫。

?

由于消息隊(duì)列的服務(wù)處理速度遠(yuǎn)快于數(shù)據(jù)庫,因此用戶的響應(yīng)延遲可能得到有效改善。

?

流程圖解,如下圖:

?

?

?

三、消息隊(duì)列說明

  消息隊(duì)列中間是分布式系統(tǒng)中重要的組件,主要解決應(yīng)用耦合、異步消息、流量消峰等問題;

?

實(shí)現(xiàn)高性能,高可用,可伸縮和最終一致性架構(gòu);是大型分布式系統(tǒng)不可缺少的中間件。

?

目前在生產(chǎn)環(huán)境使用較多的消息隊(duì)列:ActiveMQ、RabbitMQ、Kafka、ZeroMQ、MetaMQ、RocketMQ等。

?

四、消息隊(duì)列應(yīng)用場(chǎng)景

1,異步處理

場(chǎng)景說明:用戶注冊(cè)后,需要發(fā)注冊(cè)郵件和注冊(cè)短信。傳統(tǒng)的做法有兩種方式:串行方式、并行方式;

?

(1)串行方式:將注冊(cè)信息寫入數(shù)據(jù)庫成功后,發(fā)生注冊(cè)郵件,再發(fā)生注冊(cè)短信。以上三個(gè)任務(wù)完成后,返回給客戶端。

?

?

?

(2)并行方式:將注冊(cè)信息寫入數(shù)據(jù)庫成功后,發(fā)生注冊(cè)郵件的同時(shí),發(fā)生注冊(cè)短信,以上三個(gè)任務(wù)完成后,返回給客戶端,與串行的差別是,并行的方式可以提高處理時(shí)間;

?

?

?

假設(shè)三個(gè)業(yè)務(wù)節(jié)點(diǎn)每個(gè)使用50ms,不考慮網(wǎng)絡(luò)等其他開銷,則串行方式的耗時(shí)是150ms;并行的耗時(shí)是100ms;

?

因?yàn)镃PU在單位時(shí)間內(nèi)處理的請(qǐng)求數(shù)是一定的,假設(shè)CPU 1秒內(nèi)吞吐量是100次;則串行方式1秒內(nèi)CPU可以處理的請(qǐng)求量是7次(1000/150);并行方式可處理請(qǐng)求量是10次(1000/100);

?

綜上所述,傳統(tǒng)的方式系統(tǒng)的性能(并發(fā)量、吞吐量、響應(yīng)時(shí)間)會(huì)有瓶頸。如何解決這個(gè)問題?

?

引入消息隊(duì)列,將不是必須的業(yè)務(wù)邏輯,異步處理,改造后的架構(gòu)如下圖:

?

?

?

安裝上述約定,用戶的響應(yīng)時(shí)間相當(dāng)于是注冊(cè)信息寫入數(shù)據(jù)庫的時(shí)間,也是就是50ms.

?

注冊(cè)郵件,發(fā)短信寫入消息隊(duì)列后,直接放回,因此寫入消息隊(duì)列的速度很快,基本可以忽略。

?

采用消息隊(duì)列后用戶的響應(yīng)數(shù)據(jù)可能就是50ms。所以基于此架構(gòu),系統(tǒng)的吞吐量提高到每秒20QPS;比串行提高了3倍,比并行提高了2倍。

?

2,應(yīng)用解耦

場(chǎng)景說明:用戶下單后,訂單系統(tǒng)需要通知庫存系統(tǒng)。傳統(tǒng)的做法:訂單系統(tǒng)調(diào)用庫存系統(tǒng)接口。如下圖:

?

?

?

傳統(tǒng)模式的缺點(diǎn):

?

  1>.假如庫存系統(tǒng)無法訪問,則訂單減庫存將失敗,從而導(dǎo)致訂單失??;

?

  2>.訂單系統(tǒng)與庫存系統(tǒng)耦合;

?

如何解決以上問題?引入應(yīng)用消息隊(duì)列后的方案,如下圖:

?

?

  1>.訂單系統(tǒng):用戶下單后,訂單系統(tǒng)完成持久化處理,將消息寫入消息隊(duì)列,返回用戶訂單下單成功,請(qǐng)等等物流配送。

?

  2>.庫存系統(tǒng):訂閱下單的消息,采用拉/推的方式,獲取下單信息,庫存系統(tǒng)根據(jù)下單信息,進(jìn)行庫存操作。

?

  3>.假如在下單時(shí)庫存系統(tǒng)不能正常使用,也不影響正常下單。因?yàn)橄聠魏?,訂單系統(tǒng)寫入消息隊(duì)列就不再關(guān)系其他的后續(xù)操作了,實(shí)現(xiàn)訂單系統(tǒng)與庫存系統(tǒng)的應(yīng)用解耦。

?

3,流量消峰

流量消峰也是消息隊(duì)列中的常用場(chǎng)景,一般在秒數(shù)或者團(tuán)搶活動(dòng)中使用廣泛。

?

應(yīng)用場(chǎng)景:秒數(shù)活動(dòng),一般因?yàn)榱髁窟^大,導(dǎo)致流量暴增,應(yīng)用容易掛掉。為解決這個(gè)問題,一般需要在應(yīng)用前端假如消息隊(duì)列。

?

(1)可以控制活動(dòng)人數(shù)。

?

(2)可以緩解短時(shí)間內(nèi)高流量壓垮應(yīng)用;

?

?

?

引入消息隊(duì)列:

?

  1>.用戶的請(qǐng)求,服務(wù)器接收后,首先寫入消息隊(duì)列。假如消息隊(duì)列長(zhǎng)度超過最大數(shù)量,則直接拋棄用戶請(qǐng)求或者跳轉(zhuǎn)到錯(cuò)誤頁面;

?

  2>.秒殺業(yè)務(wù)根據(jù)消息隊(duì)列的請(qǐng)求信息,再做后續(xù)處理;

?

4,消息通訊

?消息通訊是指:消息隊(duì)列一般都內(nèi)置了高效的通訊機(jī)制,因此也可以用在純的消息通訊。比如實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的消息隊(duì)列或者聊天室等。

?

(1)點(diǎn)對(duì)點(diǎn)通訊

?

?

?

客戶端A和客戶端B使用同一隊(duì)列,進(jìn)行消息通訊。

?

(2)聊天室通訊(發(fā)布訂閱)

?

?

?

客戶端A、客戶端B、客戶端N訂閱同一主題,進(jìn)行消息發(fā)布和接收,實(shí)現(xiàn)類是聊天室效果。文章來源地址http://www.zghlxwxcb.cn/news/detail-558305.html

到了這里,關(guān)于ActiveMQ消息中間件應(yīng)用場(chǎng)景的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot整合消息中間件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

    SpringBoot整合消息中間件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

    消息的發(fā)送方:生產(chǎn)者 消息的接收方:消費(fèi)者 同步消息:發(fā)送方發(fā)送消息到接收方,接收方有所回應(yīng)后才能夠進(jìn)行下一次的消息發(fā)送 異步消息:不需要接收方回應(yīng)就可以進(jìn)行下一步的發(fā)送 什么是消息隊(duì)列? 當(dāng)此時(shí)有很多個(gè)用戶同時(shí)訪問服務(wù)器,需要服務(wù)器進(jìn)行操作,但此

    2024年04月27日
    瀏覽(53)
  • 消息中間件(MQ)對(duì)比:RabbitMQ、Kafka、ActiveMQ 和 RocketMQ

    前言 在構(gòu)建分布式系統(tǒng)時(shí),選擇適合的消息中間件是至關(guān)重要的決策。RabbitMQ、Kafka、ActiveMQ 和 RocketMQ 是當(dāng)前流行的消息中間件之一,它們各自具有獨(dú)特的特點(diǎn)和適用場(chǎng)景。本文將對(duì)這四種消息中間件進(jìn)行綜合比較,幫助您在項(xiàng)目中作出明智的選擇。 1. RabbitMQ 特點(diǎn): 消息模

    2024年02月20日
    瀏覽(35)
  • 消息中間件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之間的區(qū)別

    消息中間件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之間的區(qū)別

    目錄 一、什么是消息中間件 二、消息中間件的組成 1、Broker 2、Producer 3、Consumer 4、Topic 5、Queue 6、Message 三、消息中間件通信模式 1、點(diǎn)對(duì)點(diǎn)(kafka不支持這種模式) ?2、發(fā)布/訂閱 ?四、消息中間件的作用 1、系統(tǒng)解耦 2、提高系統(tǒng)響應(yīng)時(shí)間 3、為大數(shù)據(jù)處理架構(gòu)提供服務(wù) 五、

    2024年01月25日
    瀏覽(26)
  • 想學(xué)高并發(fā)技能,這些常用的消息中間件( RabbitMQ、Kafka、ActiveMQ、Redis、NATS )你要必知

    對(duì)于全?;蛘吆蠖斯こ處焷碚f,解決高并發(fā)是一個(gè)必備的技能,一說到高并發(fā)時(shí),我們第一反應(yīng)是分布式系統(tǒng),那么,消息中間件( RabbitMQ 、 Kafka 、 ActiveMQ 、 Redis 、 NATS 等)的出現(xiàn)是為了解決分布式系統(tǒng)中的消息傳遞和異步通信的問題,以及提供可靠的消息傳遞機(jī)制。它們

    2024年04月15日
    瀏覽(43)
  • 【消息中間件】RocketMQ消息重復(fù)消費(fèi)場(chǎng)景及解決辦法

    【消息中間件】RocketMQ消息重復(fù)消費(fèi)場(chǎng)景及解決辦法

    消息重復(fù)消費(fèi)是各個(gè)MQ都會(huì)發(fā)生的常見問題之一,在一些比較敏感的場(chǎng)景下,重復(fù)消費(fèi)會(huì)造成比較嚴(yán)重的后果,比如重復(fù)扣款等。 當(dāng)系統(tǒng)的調(diào)用鏈路比較長(zhǎng)的時(shí)候,比如系統(tǒng)A調(diào)用系統(tǒng)B,系統(tǒng)B再把消息發(fā)送到RocketMQ中,在系統(tǒng)A調(diào)用系統(tǒng)B的時(shí)候,如果系統(tǒng)B處理成功,但是遲遲

    2024年02月05日
    瀏覽(41)
  • 消息中間件之八股面試回答篇:一、問題概覽+MQ的應(yīng)用場(chǎng)景+RabbitMQ如何保證消息不丟失(生產(chǎn)者確認(rèn)機(jī)制、持久化、消費(fèi)者確認(rèn)機(jī)制)+回答模板

    消息中間件之八股面試回答篇:一、問題概覽+MQ的應(yīng)用場(chǎng)景+RabbitMQ如何保證消息不丟失(生產(chǎn)者確認(rèn)機(jī)制、持久化、消費(fèi)者確認(rèn)機(jī)制)+回答模板

    目前主流的消息隊(duì)列技術(shù)(MQ技術(shù))分為RabbitMQ和Kafka,其中深藍(lán)色為只要是MQ,一般都會(huì)問到的問題。淺藍(lán)色是針對(duì)RabbitMQ的特性的問題。藍(lán)紫色為針對(duì)Kafka的特性的問題。 MQ主要提供的功能為:異步 解耦 削峰 。 展開來講就是 異步發(fā)送(驗(yàn)證碼、短信、郵件…) MYSQL和Redi

    2024年01月24日
    瀏覽(56)
  • 分布式消息中間件RocketMQ的應(yīng)用

    分布式消息中間件RocketMQ的應(yīng)用

    所有代碼同步至GitCode:https://gitcode.net/ruozhuliufeng/test-rocketmq.git 普通消息 消息發(fā)送分類 ? Producer對(duì)于消息的發(fā)送方式也有多種選擇,不同的方式會(huì)產(chǎn)生不同的系統(tǒng)效果。 同步發(fā)送消息 ? 同步發(fā)送消息是指,Producer發(fā)出一條消息后,會(huì)在收到MQ返回的ACK之后才發(fā)下一條消息。

    2024年02月05日
    瀏覽(21)
  • 架構(gòu)師系列- 消息中間件(13)-kafka深入應(yīng)用

    架構(gòu)師系列- 消息中間件(13)-kafka深入應(yīng)用

    1)配置文件 ?2)啟動(dòng)信息 4.2.1 發(fā)送類型 KafkaTemplate調(diào)用send時(shí)默認(rèn)采用異步發(fā)送,如果需要同步獲取發(fā)送結(jié)果,調(diào)用get方法 詳細(xì)代碼參考:AsyncProducer.java 消費(fèi)者使用:KafkaConsumer.java 1)同步發(fā)送 通過swagger發(fā)送,控制臺(tái)可以正常打印send result swagger訪問地址:http://localhost:808

    2024年04月29日
    瀏覽(25)
  • 削峰填谷與應(yīng)用間解耦:分布式消息中間件在分布式環(huán)境下并發(fā)流量控制的應(yīng)用

    削峰填谷與應(yīng)用間解耦:分布式消息中間件在分布式環(huán)境下并發(fā)流量控制的應(yīng)用

    這是《百圖解碼支付系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》專欄系列文章中的第(18)篇,也是流量控制系列的第(4)篇。點(diǎn)擊上方關(guān)注,深入了解支付系統(tǒng)的方方面面。 本篇重點(diǎn)講清楚分布式消息中間件的特點(diǎn),常見消息中間件的簡(jiǎn)單對(duì)比,在支付系統(tǒng)的應(yīng)用場(chǎng)景,比如削峰填谷,系統(tǒng)應(yīng)用間

    2024年01月20日
    瀏覽(57)
  • 【中間件】消息中間件之Kafka

    一、概念介紹 Apache Kafka是一個(gè)分布式流處理平臺(tái),用于構(gòu)建實(shí)時(shí)數(shù)據(jù)管道和流應(yīng)用。它可以處理網(wǎng)站、應(yīng)用或其他來源產(chǎn)生的大量數(shù)據(jù)流,并能實(shí)時(shí)地將這些數(shù)據(jù)流傳輸?shù)搅硪粋€(gè)系統(tǒng)或應(yīng)用中進(jìn)行處理。 核心概念: Topic(主題) :消息的分類,用于區(qū)分不同的業(yè)務(wù)消息。

    2024年01月20日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包