《私有云基礎(chǔ)架構(gòu)與運(yùn)維》課件-3.2消息隊(duì)列_第1頁(yè)
《私有云基礎(chǔ)架構(gòu)與運(yùn)維》課件-3.2消息隊(duì)列_第2頁(yè)
《私有云基礎(chǔ)架構(gòu)與運(yùn)維》課件-3.2消息隊(duì)列_第3頁(yè)
《私有云基礎(chǔ)架構(gòu)與運(yùn)維》課件-3.2消息隊(duì)列_第4頁(yè)
《私有云基礎(chǔ)架構(gòu)與運(yùn)維》課件-3.2消息隊(duì)列_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9講消息隊(duì)列12上節(jié)回顧知識(shí)回顧認(rèn)證服務(wù)相關(guān)概念:

認(rèn)證、證書(shū)、令牌、租戶、用戶、角色2.認(rèn)證服務(wù)運(yùn)維命令:

創(chuàng)建用戶、創(chuàng)建租戶、創(chuàng)建角色3.綜合實(shí)訓(xùn):用戶和項(xiàng)目的添加(作業(yè)講解)3考一考提問(wèn)環(huán)節(jié)、答題有加分、要記筆記哦!問(wèn)題1:下列關(guān)于Keystone的說(shuō)法錯(cuò)誤的是()A、認(rèn)證服務(wù)通過(guò)對(duì)用戶身份的確認(rèn),來(lái)判斷下一個(gè)請(qǐng)求是否被允許B、OpenStack中的一個(gè)項(xiàng)目可以有多個(gè)用戶,一個(gè)用戶只屬于一個(gè)項(xiàng)目C、全局的角色適用于所有中的資源權(quán)限,而項(xiàng)目?jī)?nèi)的角色只適合自己項(xiàng)目?jī)?nèi)的權(quán)限D(zhuǎn)、令牌是一串?dāng)?shù)字字符,用于訪問(wèn)服務(wù)的API以及資源2分鐘4考一考提問(wèn)環(huán)節(jié)、答題有加分、要記筆記哦!問(wèn)題1:下列關(guān)于Keystone的說(shuō)法錯(cuò)誤的是()A、認(rèn)證服務(wù)通過(guò)對(duì)用戶身份的確認(rèn),來(lái)判斷下一個(gè)請(qǐng)求是否被允許B、OpenStack中的一個(gè)項(xiàng)目可以有多個(gè)用戶,一個(gè)用戶只屬于一個(gè)項(xiàng)目C、全局的角色適用于所有中的資源權(quán)限,而項(xiàng)目?jī)?nèi)的角色只適合自己項(xiàng)目?jī)?nèi)的權(quán)限D(zhuǎn)、令牌是一串?dāng)?shù)字字符,用于訪問(wèn)服務(wù)的API以及資源答:B5考一考提問(wèn)環(huán)節(jié)、答題有加分、要記筆記哦!問(wèn)題2(多選題):下列()不屬于Keystone提供的服務(wù)的是?A、令牌服務(wù)B、目錄服務(wù)C、策略服務(wù)D、調(diào)度服務(wù)2分鐘6考一考提問(wèn)環(huán)節(jié)、答題有加分、要記筆記哦!問(wèn)題2(多選題):下列()不屬于Keystone提供的服務(wù)的是?A、令牌服務(wù)B、目錄服務(wù)C、策略服務(wù)D、調(diào)度服務(wù)答:CD周信靜,浙江經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件技術(shù)專(zhuān)業(yè)2012級(jí)畢業(yè)生7榜樣故事周信靜,浙江經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件技術(shù)專(zhuān)業(yè)2012級(jí)畢業(yè)生地址:/news/274903.html安靜又狂熱的技術(shù)極客,是低調(diào)逆襲的奮斗者,是永不放棄的科研的堅(jiān)定前行者5分鐘8教學(xué)目標(biāo)

了解消息隊(duì)列的基本概念

理解消息隊(duì)列工作原理(難點(diǎn))能設(shè)置消息隊(duì)列模擬器(重點(diǎn))掌握實(shí)訓(xùn)的樂(lè)趣、體驗(yàn)不一樣的人生9場(chǎng)景導(dǎo)入任務(wù)要求在日常的工作生活中,消息傳遞是一個(gè)必不可少的需求。在大型軟件的內(nèi)部信息交換和外部信息傳遞中,消息傳遞都是不可或缺的。在系統(tǒng)間通信窗體的最基本方法是socket,但是這是一個(gè)最底層的協(xié)議,所以在使用時(shí)需要程序來(lái)調(diào)用。在進(jìn)行后序的學(xué)習(xí)過(guò)程之前,小李首先要了解消息服務(wù)的基本狀況和使用的情景,以及OpenStack的RPC(遠(yuǎn)程呼叫機(jī)制)的運(yùn)行機(jī)制。910消息隊(duì)列理解概念消息(Message):傳輸?shù)臄?shù)據(jù)。隊(duì)列(Queue):隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。消息隊(duì)列從字面的含義來(lái)看就是一個(gè)存放消息的容器。消息隊(duì)列可以簡(jiǎn)單理解為:把要傳輸?shù)臄?shù)據(jù)放在隊(duì)列中。11消息隊(duì)列為什么需要消息隊(duì)列舉個(gè)例子:話說(shuō)小袁是一家巧克力作坊的老板,生產(chǎn)出美味的巧克力需要三道工序:①將可可豆磨成可可粉②將可可粉加熱并加入糖變成巧克力漿③將巧克力漿灌入模具,撒上堅(jiān)果碎,冷卻后就是成品巧克力了。12消息隊(duì)列為什么需要消息隊(duì)列階段1:每次研磨出一桶可可粉后,工人就會(huì)把這桶可可粉送到加工巧克力漿的工人手上,然后再回來(lái)加工下一桶可可粉。可可粉工人巧克力工人13消息隊(duì)列為什么需要消息隊(duì)列階段2:工人可以不用自己運(yùn)送半成品,于是他在每道工序之間都增加了一組傳送帶,研磨工人只要把研磨好的可可粉放到傳送帶上,就可以去加工下一桶可可粉了。傳送帶解決了上下游工序之間的“通信”問(wèn)題??煽煞蹅魉蛶煽肆魉蛶Ц倪M(jìn)方案:效率提升了14消息隊(duì)列為什么需要消息隊(duì)列階段3:在每組傳送的下游帶配備了一個(gè)暫存半成品的倉(cāng)庫(kù),這樣上游工人就不用等待下游工人有空,任何時(shí)間都可以把加工完成的半成品丟到傳送帶上,無(wú)法接收的貨物被暫存在倉(cāng)庫(kù)中,下游工人可以隨時(shí)來(lái)取。傳送帶配備的倉(cāng)庫(kù)實(shí)際上起到了“通信”過(guò)程中“緩存”的作用。改進(jìn)方案:緩存機(jī)制,進(jìn)一步提升效率15消息隊(duì)列哪些問(wèn)題適合使用消息隊(duì)列來(lái)解決1.異步處理16消息隊(duì)列哪些問(wèn)題適合使用消息隊(duì)列來(lái)解決2.流量控制3.服務(wù)解耦對(duì)接階段三優(yōu)化方案17消息隊(duì)列AMQP概念A(yù)MQP是一種標(biāo)準(zhǔn)化的消息中間件協(xié)議一種,全稱(chēng)為高級(jí)消息隊(duì)列協(xié)議(AdvancedMessageQueuingProtocol)。可以實(shí)現(xiàn)讓不同語(yǔ)言,不同系統(tǒng)的應(yīng)用互相通信,并提供一個(gè)簡(jiǎn)單統(tǒng)一的模型和編程接口。18消息隊(duì)列AMQP的組成Publisher:消息的發(fā)送者。Consumer:消息的接收者。Exchange:消息的傳遞著。有誰(shuí)能舉幾個(gè)例子19消息隊(duì)列Queue:消息隊(duì)列,消息最終被送到這里等待consumer取走。一個(gè)message可以被同時(shí)拷貝到多個(gè)queue中。Binding:exchange和queue之間的虛擬連接,binding中可以包含routingkey。Binding信息被保存到exchange中的查詢(xún)表中,用于message的分發(fā)依據(jù)。AMQP的組成20消息隊(duì)列exchange類(lèi)型Exchange有多種類(lèi)型,最常用的是Direct/Fanout/Topic三種類(lèi)型。Direct(point2point點(diǎn)對(duì)點(diǎn)模式),Message中的“routingkey”如果和Binding中的“bindingkey”一致,Directexchange則將message發(fā)到對(duì)應(yīng)的queue中。Fanout(多播模式),每個(gè)發(fā)到Fanout類(lèi)型Exchange的message都會(huì)分到所有綁定的queue上去。Topic(發(fā)布-訂閱模式),根據(jù)routingkey,及通配規(guī)則,Topicexchange將分發(fā)到目標(biāo)queue中。21老師演示rabbitMQ模擬器使用辦法地址:/qq_36918149/article/details/99780499第一步:直接將畫(huà)框左面的圖標(biāo)拖進(jìn)畫(huà)圖區(qū),構(gòu)建想要的拓?fù)鋱D;22老師演示第二步:按住ALT或SHIFT鍵,鼠標(biāo)點(diǎn)擊需要連接的圖標(biāo)(如果不能連接,試試相反方向,例如先點(diǎn)擊queue再點(diǎn)exchange);23老師演示第三步:雙擊擊圖標(biāo)進(jìn)行編輯設(shè)置各項(xiàng)功能;提示:1)exchange的三個(gè)模式對(duì)應(yīng)三個(gè)題目2)producer的routingkey和bindingkey的聯(lián)系24老師演示第四步:成果25老師演示實(shí)訓(xùn)目標(biāo)三種情況:(1)direct26老師演示實(shí)訓(xùn)目標(biāo)三種情況:(2)fanout27老師演示實(shí)訓(xùn)目標(biāo)三種情況:(3)topic28實(shí)訓(xùn)任務(wù)實(shí)訓(xùn)9:通過(guò)rabbitMQ模擬器實(shí)現(xiàn)exchange的三種方法2825分鐘29師生共評(píng)295分鐘師生共評(píng)實(shí)訓(xùn)過(guò)程隨機(jī)選人30消息隊(duì)列OpenStack項(xiàng)目間AMQP協(xié)議圖31消息隊(duì)列消息隊(duì)列的技術(shù)選型RabbitMQ

RabbitMQ是使用一種比較小眾的編程語(yǔ)言:Erlang語(yǔ)言編寫(xiě)的,它最早是為電信行業(yè)系統(tǒng)之間的可靠通信設(shè)計(jì)的,也是少數(shù)幾個(gè)支持AMQP協(xié)議的消息隊(duì)列之一。RabbitMQ的客戶端支持的編程語(yǔ)言大概是所有消息隊(duì)列中最多的,如果你的系統(tǒng)是用某種冷門(mén)語(yǔ)言開(kāi)發(fā)的,那你多半可以找到對(duì)應(yīng)的RabbitMQ客戶端。32消息隊(duì)列消息隊(duì)列的技術(shù)選型RabbitMQ

RabbitMQ一個(gè)比較有特色的功能是支持非常靈活的路由配置,和其他消息隊(duì)列不同的是,它在生產(chǎn)者(Producer)和隊(duì)列(Queue)之間增加了一個(gè)Exchange模塊,你可以理解為交換機(jī)。這個(gè)Exchange模塊的作用和交換機(jī)也非常相似,根據(jù)配置的路由規(guī)則將生產(chǎn)者發(fā)出的消息分發(fā)到不同的隊(duì)列中。路由的規(guī)則也非常靈活,甚至你可以自己來(lái)實(shí)現(xiàn)路由規(guī)則?;谶@個(gè)Exchange,可以產(chǎn)生很多的玩兒法,如果你正好需要這個(gè)功能,RabbitMQ是個(gè)不錯(cuò)的選擇。33消息隊(duì)列消息隊(duì)列的技術(shù)選型RocketMQ

RocketMQ是阿里巴巴在2012年開(kāi)源的消息隊(duì)列產(chǎn)品,后來(lái)捐贈(zèng)給Apache軟件基金會(huì),2017正式畢業(yè),成為Apache的頂級(jí)項(xiàng)目。阿里內(nèi)部也是使用RocketMQ作為支撐其業(yè)務(wù)的消息隊(duì)列,經(jīng)歷過(guò)多次“雙十一”考驗(yàn),它的性能、穩(wěn)定性和可靠性都是值得信賴(lài)的。作為優(yōu)秀的國(guó)產(chǎn)消息隊(duì)列,近年來(lái)越來(lái)越多的被國(guó)內(nèi)眾多大廠使用。RocketMQ對(duì)在線業(yè)務(wù)的響應(yīng)時(shí)延做了很多的優(yōu)化,大多數(shù)情況下可以做到毫秒級(jí)的響應(yīng),如果你的應(yīng)用場(chǎng)景很在意響應(yīng)時(shí)延,那應(yīng)該選擇使用RocketMQ。RocketMQ的性能比RabbitMQ要高一個(gè)數(shù)量級(jí),每秒鐘大概能處理幾十萬(wàn)條消息。國(guó)產(chǎn)明星、技術(shù)大廠34消息隊(duì)列消息隊(duì)列的技術(shù)選型Kafka

Kafka最早是由LinkedIn開(kāi)發(fā),目前也是Apache的頂級(jí)項(xiàng)目。Kafka最初的設(shè)計(jì)目的是用于處理海量的日志。Kafka與周邊生態(tài)系統(tǒng)的兼容性是最好的沒(méi)有之一,尤其在大數(shù)據(jù)和流計(jì)算領(lǐng)域,幾乎所有的相關(guān)開(kāi)源軟件系統(tǒng)都會(huì)優(yōu)先支持Kafka。Kafka使用Scala和Java語(yǔ)言開(kāi)發(fā),設(shè)計(jì)上大量使用了批量和異步的思想,這種設(shè)計(jì)使得Kafka能做到超高的性能。Kafka的性能,尤其是異步收發(fā)的性能,是三者中最好的,但與RocketMQ并沒(méi)有量級(jí)上的差異,大約每秒鐘可以處理幾十萬(wàn)條消息。35消息隊(duì)列消息隊(duì)列的技術(shù)選型如果說(shuō),消息隊(duì)列并不是你將要構(gòu)建系統(tǒng)的主角之一,你對(duì)消息隊(duì)列功能和性能都沒(méi)有很高的要求,只需要一個(gè)開(kāi)箱即用易于維護(hù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論