新時(shí)代里咨詢對我們的影響Massagingheony_第1頁
新時(shí)代里咨詢對我們的影響Massagingheony_第2頁
新時(shí)代里咨詢對我們的影響Massagingheony_第3頁
新時(shí)代里咨詢對我們的影響Massagingheony_第4頁
新時(shí)代里咨詢對我們的影響Massagingheony_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

MassagingthePony:

MessageQueuesandYouShawnRiderPBSEducationDjangoCon2010WhatisaMessageQueue?Asystemforenablingasynchronousprocessingofdiscretetasks.Superawesome.Whataretheygoodfor?AlleviateserverissuesbyoffloadingprocessingWhataretheygoodfor?MakebetteruserexperiencesWhataretheygoodfor?Increasethereliabilityofthirdpartyserviceintegrations.Whataretheygoodfor?BackgroundmediaprocessingWhataretheygoodfor?RepeatingTaskscanreplaceCronjobsKeepallyourcodeinyourprojectAvailableMQSolutionsTherearemanysolutionsoutthere.Tonameafewofthem:RabbitMQAmazonSimpleQueueSystemApacheMQGearmanOpenAMQPeafowlQ4MStarlingSunJavaSystemMessageQueueMessageQueueProtocolsAMQP:AdvancedMessageQueuingProtocolJMS:JavaMessagingServiceSTOMP:StreamingTextOrientedMessagingProtocolCriteriaforBrokerSelectionThefollowingcriteriawereimportanttousinselectingasolution.Youmayhavesomedifferentneeds.HandlingexceptionsandrecoveryLowlevelofrequiredmaintenanceEaseofdeploymentPersistentqueuingCommunitysupportWhatlanguageisitwrittenin?Howcompatibleisthatwithourcurrentsystems?ClustersupportFailsafeMQBrokersMustbeabletosurviveaserverfailure.UponrestartingtheMQBroker,processingshouldresumefromthelastun-processedmessagesinqueuesQueueDurabilityTheMessagesQueueBrokermustbeabletoreconstructthequeueswhenitisrestarted.MessagePersistenceTheMessages(taskstobecompleted)mustpersistbetweenshutdownsandrestartsofMQServerOurChoiceCelery(aDjangotaskmanagementapp)Carrot(Djangomiddleware)PyAMQP(Pythonmodule)RabbitMQ(MQBrokersoftware)TheProductionSystemWebappDatabaseWorkerServer(s)CeleryRabbitMQMQinDevelopmentEnvironsItisimportanttobeabletodevelopMessageQueuetasksinDjangowithoutbeingconcernedaboutrunningthebrokerprocess,queuesetup,persistenceetc.MQinDevelopmentEnvironsCarrotcanbesetuptousedifferentqueuingbackendfordevelopmentpurposesGhettoQprovidesdatabasebackendforcarrotwhereadatabaseservesasthequeuestorageThebrokerisasimpleDjangoapplicationthatmonitorsthequeueinDBInefficient,thereforeonlysuitablefordevelopmentenvironmentsCARROT_BACKEND=‘‘qhettoq.taproot.Database’EaseafutureMQimplementationIsolatefunctionalityintoreusablecomponents.RecycleExistingCodeDjango,HTTPRequests&MQMostfunctionalitiesprovidedthroughDjangoapplicationsaretightlycoupledwithHTTPrequestse.g.formdataprocessingInordertoasynchronouslyexecuteatask,Celery(anytaskmanagementplatform)mustserialize&storeparametersHTTPrequestsareusuallylargeandnoteasilyserializable.e.g.WSGIrequestsThePickleableHTTPRequestObjectUsingPickleableHttpRequestifrequest.GET.get(‘download’):try:result=EnrollmentCSVExportTask.delay(PickleableHttpRequest(request,attributes=\[‘user’,‘a(chǎn)dmin_current_organization’]))MakingMessageQueueTasksItisfastandeasytoaddadecoratortospecificfunctionstocreateMessageQueuetasks.fromcelery.decoratorsimporttask@taskdefadd(x,y):returnx+yExplicitlyInheritfromCelery’sTaskObjectThenWhat?SomeMessageQueuetaskscancompletewithnonotificationrequired.Forothertasks:NotifybyemailUseanAJAXlistenertonotifyusersSomeothermessagingInReviewChooseyourMQsolutionwiselySetuparobustsystemLeverageyourexistingcodeReplacetroublespotsastheycomeupProfit!MessageQueuesMakeLifeBetter9、靜夜四無無鄰,荒居居舊業(yè)貧。。。12月-2212月-22Saturday,December24,202210、雨中黃葉葉樹,燈下下白頭人。。。06:54:3006:54:3006:5412/24/20226:54:30AM11、以以我我獨(dú)獨(dú)沈沈久久,,愧愧君君相相見見頻頻。。。。12月月-2206:54:3106:54Dec-2224-Dec-2212、故人江江海別,,幾度隔隔山川。。。06:54:3106:54:3106:54Saturday,December24,202213、乍見翻翻疑夢,,相悲各各問年。。。12月-2212月-2206:54:3106:54:31December24,202214、他鄉(xiāng)鄉(xiāng)生白白發(fā),,舊國國見青青山。。。24十十二二月20226:54:31上上午06:54:3112月月-2215、比不不了得得就不不比,,得不不到的的就不不要。。。。十二月月226:54上上午午12月月-2206:54December24,202216、行動(dòng)動(dòng)出成成果,,工作作出財(cái)財(cái)富。。。2022/12/246:54:3106:54:3124December202217、做前,能能夠環(huán)視四四周;做時(shí)時(shí),你只能能或者最好好沿著以腳腳為起點(diǎn)的的射線向前前。。6:54:31上上午6:54上上午06:54:3112月-229、沒有失敗敗,只有暫暫時(shí)停止成成功!。12月-2212月-22Saturday,December24,202210、很多事事情努力力了未必必有結(jié)果果,但是是不努力力卻什么么改變也也沒有。。。06:54:3106:54:3106:5412/24/20226:54:31AM11、成功就就是日復(fù)復(fù)一日那那一點(diǎn)點(diǎn)點(diǎn)小小努努力的積積累。。。12月-2206:54:3106:54Dec-2224-Dec-2212、世間成事,,不求其絕對對圓滿,留一一份不足,可可得無限完美美。。06:54:3106:54:3106:54Saturday,December24,202213、不知香積寺寺,數(shù)里入云云峰。。12月-2212月-2206:54:3106:54:31December24,202214、意志志堅(jiān)強(qiáng)強(qiáng)的人人能把把世界界放在在手中中像泥泥塊一一樣任任意揉揉捏。。24十十二二月20226:54:31上上午06:54:3112月月-2215、楚塞塞三湘湘接,,荊門門九派派通。。。。十二月月226:54上上午午12月月-2206:54December24,202216、少少年年十十五五二二十十時(shí)時(shí),,步步行行奪奪得得胡胡馬馬騎騎。。。。2022/12/246:54:3106:54:3124December202217、空空山山新新雨雨后后,,天天氣氣晚晚來來秋秋。。。。6:54:31上上午午6:54上上午午06:54:3112月月-229、楊柳散散和風(fēng),,青山澹澹吾慮。。。12月-2212月-22Saturday,December24,202210、閱讀一一切好書書如同和和過去最最杰出的的人談話話。06:54:3106:54:3106:5412/24/20226:54:31AM11、越是沒有有本領(lǐng)的就就越加自命命不凡。12月-2206:54:3106:54Dec-2224-Dec-2212、越是無能能的人,越越喜歡挑剔剔別人的錯(cuò)錯(cuò)兒。06:54:3106:54:3106:54Saturday,December24,202213、知人者者智,自自知者明明。勝人人者有力力,自勝勝者強(qiáng)。。12月-2212月-2206:54:3106:54:31December24,202214、意志堅(jiān)堅(jiān)強(qiáng)的人人能把世世界放在在手中像像泥塊一一樣任意意揉捏。。24十十二月20226:54:31上午午06:54:3112月-2215、最具挑戰(zhàn)性性的挑戰(zhàn)莫過過于提升自我我。。十二月226:54上上午12月-2206:54December24,202216、業(yè)余生活要要有意義,不不要越軌。2022/12

溫馨提示

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

評論

0/150

提交評論