国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
事件驅(qū)動(dòng)型架構(gòu),究竟要怎樣構(gòu)建?


的社交軟件里有經(jīng)常用火星文在朋友圈里發(fā)無聊內(nèi)容的朋友嗎?

“哎呀,我今天吃了頓飯,開心?!?/p>

“小海象存在在世界上的意義是什么呢?”

幸好,我們可以屏蔽這些內(nèi)容。不過社交軟件是如何讓我們處理事件流呢,這是一個(gè)很有意思的話題:

  • 我們“關(guān)注”他人來了解他們的想法

  • 隨時(shí)調(diào)整我們接收的動(dòng)態(tài)信息

  • 在收到通知時(shí)參與到互動(dòng)當(dāng)中

整個(gè)過程自然流暢且互動(dòng)性很強(qiáng)。

那么企業(yè)系統(tǒng)是怎樣處理事件流的呢?企業(yè)系統(tǒng)就稍遜一籌了。大多數(shù)系統(tǒng)使用的都是嚴(yán)格定義好的通信路徑,并在業(yè)務(wù)流程中的組件之間實(shí)現(xiàn)耦合。這使得我們很難檢測(cè)數(shù)據(jù)中的趨勢(shì),很難快速調(diào)整業(yè)務(wù),也很難與客戶建立牢固的關(guān)系。

不過,這種情況開始逐漸改善。許多企業(yè)系統(tǒng)管理者都開始采用Cloud Foundry平臺(tái),加快企業(yè)轉(zhuǎn)向 “事件驅(qū)動(dòng)型架構(gòu)”的步伐。下面我們來看看,為了幫助你打造適應(yīng)性更強(qiáng)的業(yè)務(wù),我們做了哪些具體工作。

1

什么是事件驅(qū)動(dòng)型架構(gòu)?

“事件”就是指發(fā)生的事情。例如,傳感器報(bào)告溫度變、用戶點(diǎn)擊鼠標(biāo)、客戶將支票存入銀行賬戶等。在事件驅(qū)動(dòng)型架構(gòu)中,系統(tǒng)以松散耦合的方式發(fā)出并處理事件。這種環(huán)境會(huì)推動(dòng)異步通信,并提高系統(tǒng)的適應(yīng)性。

采用事件驅(qū)動(dòng)型架構(gòu)之后,生成、處理、存儲(chǔ)和訪問數(shù)據(jù)的方式都會(huì)隨之改變。事件驅(qū)動(dòng)型架構(gòu)可以幫助你利用不可預(yù)測(cè)性,并減少組件之間的依賴關(guān)系。這樣一來,你就可以更快地根據(jù)業(yè)務(wù)變化做出調(diào)整。

在事件驅(qū)動(dòng)型架構(gòu)模型中,事件是架構(gòu)的核心。“事件驅(qū)動(dòng)”不僅僅意味著安裝Apache Kafka或使用無服務(wù)器功能,它還涉及一系列集中起來幫助你發(fā)出或處理事件的功能。以下是這些功能的示意圖。

2

事件驅(qū)動(dòng)型架構(gòu)6大領(lǐng)域

1. 源/Sink。在事件驅(qū)動(dòng)型架構(gòu)中,幾乎所有組件都會(huì)生成事件:設(shè)備、應(yīng)用、用戶活動(dòng)等。許多其他組件通常會(huì)通過服務(wù)器推送協(xié)議(例如Web Socket)來使用事件的結(jié)果。

2. 服務(wù)器端應(yīng)用。這是你的代碼,由你構(gòu)建的用來接收事件的內(nèi)容。它可能會(huì)采用Web應(yīng)用、微服務(wù)、函數(shù)、事件處理應(yīng)用或富數(shù)據(jù)管道等形式。

3. 消息傳遞。事件如何在架構(gòu)中快速傳遞?你可以在組件之間使用直接調(diào)用或者使用總線??偩€可能是內(nèi)存中的,且優(yōu)先考慮低延遲而非耐久性。它可以存儲(chǔ)消息并將消息路由到每個(gè)用戶的隊(duì)列。另一個(gè)選擇是使用分布式提交日志的事件流代理。最后,使用組件與SaaS應(yīng)用或外部應(yīng)用服務(wù)進(jìn)行通信也是個(gè)不錯(cuò)的選擇。

4. 存儲(chǔ)和分析。事件驅(qū)動(dòng)型架構(gòu)會(huì)改變你對(duì)存儲(chǔ)的看法。如果你進(jìn)行了事件溯源,事件記錄將存儲(chǔ)到數(shù)據(jù)庫中,并通過一個(gè)實(shí)體化視圖顯示當(dāng)前狀態(tài)。當(dāng)前狀態(tài)可以加載到應(yīng)用緩存中,并根據(jù)需要重新生成。你可以使用內(nèi)存中數(shù)據(jù)網(wǎng)格從大型機(jī)或遺留系統(tǒng)加載數(shù)據(jù),以完成高性能讀取。緩存提供了很多可能性。企業(yè)采用事件驅(qū)動(dòng)型模型是為了提高響應(yīng)能力。因此,你可以使用數(shù)據(jù)倉庫并訓(xùn)練機(jī)器學(xué)習(xí)模型來處理事件,生成供應(yīng)用或數(shù)據(jù)管道使用的洞察信息。

5. 應(yīng)用運(yùn)行時(shí)。你所有的事件驅(qū)動(dòng)型應(yīng)用真正運(yùn)行在哪里呢?你可能需要一個(gè)平臺(tái)來長(zhǎng)時(shí)間在線運(yùn)行應(yīng)用,執(zhí)行短期任務(wù)或功能,處理負(fù)載平衡,維護(hù)新路線列表,以及快速擴(kuò)展或收縮應(yīng)用。

6. 事件記錄和監(jiān)控。事件驅(qū)動(dòng)型架構(gòu)的缺點(diǎn)是缺乏可預(yù)測(cè)性。下游系統(tǒng)如何處理這個(gè)事件?這些系統(tǒng)返回的結(jié)果為什么不一致?你的架構(gòu)必須用一種強(qiáng)有力的方法來跟蹤事件路徑、監(jiān)控應(yīng)用性能并排除故障。

構(gòu)建事件驅(qū)動(dòng)型架構(gòu)并非一日之功,與大多數(shù)技術(shù)變革一樣,這是一場(chǎng)漫長(zhǎng)的旅程。你很可能需要對(duì)技術(shù)進(jìn)行徹底改造,才能有效地將事件處理引入你的架構(gòu)。在打造事件驅(qū)動(dòng)型架構(gòu)的道路上,Cloud Foundry具有獨(dú)特的優(yōu)勢(shì),因?yàn)樗軌蜻\(yùn)行大量的事件驅(qū)動(dòng)型應(yīng)用。

5

Cloud Foundry7大優(yōu)勢(shì)

多年來,Cloud Foundry始終為你提供運(yùn)行現(xiàn)代應(yīng)用的平臺(tái)。同時(shí),它也是運(yùn)行事件驅(qū)動(dòng)型架構(gòu)的各種組件的理想之選。在幫助您構(gòu)建事件驅(qū)動(dòng)型架構(gòu)方面,Cloud Foundry有以下7大優(yōu)勢(shì)!

1. 使用Spring Cloud Stream和Spring Cloud Data Flow構(gòu)建部署流處理應(yīng)用。你的事件驅(qū)動(dòng)型應(yīng)用可能是非常松散耦合的,每個(gè)應(yīng)用可能都不知道上游或下游是什么。Spring Cloud Stream采用RabbitMQ或Kafka后端,能在Pivotal Cloud Foundry中運(yùn)行順暢,可以幫助你將代碼從底層消息傳遞引擎中完全抽象出來。而Spring Cloud Data Flow是一項(xiàng)顛覆性技術(shù),可以快速將Spring Boot應(yīng)用組裝到事件驅(qū)動(dòng)型管道中。

2. 使用代理獲得按需數(shù)據(jù)服務(wù)。最好的平臺(tái)能優(yōu)先保障數(shù)據(jù)服務(wù),Pivotal Cloud Foundry就能做到這一點(diǎn)。你可以從Pivotal直接獲取MySQL、RabbitMQ、Pivotal Cloud Cache和Redis的按需實(shí)例。Aynines、Crunchy、Aerospike、Redis Labs、Hazelcast等合作伙伴還提供更多服務(wù)。這一點(diǎn)為何如此重要?每個(gè)事件驅(qū)動(dòng)型微服務(wù)都可以有自己的關(guān)系型數(shù)據(jù)庫和緩存,它們?nèi)加善脚_(tái)完全托管,這樣你就不必使用共享式的一體化存儲(chǔ)庫了。

3. 使用你選擇的語言編寫應(yīng)用。雖然Cloud Foundry非常適合事件驅(qū)動(dòng)型Spring Boot應(yīng)用,但你也可以部署使用.NET Framework、.NET Core、Node.js、Ruby、PHP、Python或Go編寫的Web應(yīng)用或Worker應(yīng)用。如果需要,你可以將應(yīng)用放在Docker容器中,甚至編寫腳本并發(fā)布為Cloud Foundry任務(wù)。你可以根據(jù)需要,在事件處理的每個(gè)階段使用所需要的語言和庫。

4. 依賴動(dòng)態(tài)的彈性運(yùn)行時(shí)。Cloud Foundry的主要目標(biāo)就是幫助客戶實(shí)現(xiàn)軟件交付和規(guī)?;\(yùn)維。假設(shè)你有一個(gè)需要快速擴(kuò)展的Web應(yīng)用,該平臺(tái)會(huì)負(fù)責(zé)更新所有網(wǎng)絡(luò)路由和防火墻規(guī)則,你可以手動(dòng)擴(kuò)展或設(shè)置自動(dòng)擴(kuò)展策略。另外更重要的是,事件驅(qū)動(dòng)型應(yīng)用能夠處理任何規(guī)模的流量。

5. 使用內(nèi)置的監(jiān)控、日志記錄和分布式跟蹤功能獲取上下文。掌握事件驅(qū)動(dòng)型環(huán)境的運(yùn)行狀況可能比較棘手,但也并非不可能。PCF Metrics可提供豐富的基礎(chǔ)架構(gòu)指標(biāo),這些指標(biāo)與你的應(yīng)用日志緊密相關(guān)。你可以據(jù)此了解每個(gè)應(yīng)用實(shí)例的運(yùn)行狀況,并做出相應(yīng)調(diào)整。另外,Pivotal Cloud Foundry還提供了Trace Explorer,讓你可以看到事件驅(qū)動(dòng)型服務(wù)的調(diào)用圖。

6. 啟動(dòng)任務(wù)與功能。有時(shí),你的代碼需要對(duì)某些操作做出反應(yīng),然后關(guān)閉,它不會(huì)持續(xù)處理一連串?dāng)?shù)據(jù)。不過沒關(guān)系,Cloud Foundry提供針對(duì)一次性任務(wù)和計(jì)劃任務(wù)的Cloud Foundry任務(wù)。這些任務(wù)可通過API、CLI或應(yīng)用管理器觸發(fā),用于執(zhí)行數(shù)據(jù)遷移、預(yù)熱緩存或發(fā)送通知等操作。你還可以將Spring Cloud Function用于響應(yīng)HTTP或消息傳遞觸發(fā)器的無服務(wù)器應(yīng)用。

7. 在任意云端平臺(tái)上運(yùn)行Cloud Foundry。三大云提供商都提供了一些非常出色的原生事件驅(qū)動(dòng)型服務(wù),而我們的服務(wù)代理可讓你輕松連接Azure、Google、Amazon等等平臺(tái)。無論你的Pivotal Cloud Foundry實(shí)例在哪里運(yùn)行,你都可以使用這些服務(wù)。你可以輕松地在任意云端平臺(tái)上運(yùn)行Cloud Foundry,并與原生服務(wù)相結(jié)合,幫助你提取、處理并分析事件。

Pivotal Cloud Foundry這一平臺(tái)既適合你現(xiàn)有的應(yīng)用,也適合現(xiàn)代化的事件驅(qū)動(dòng)型應(yīng)用,它可提供全部必備功能,幫助你構(gòu)建響應(yīng)迅速的可維護(hù)架構(gòu)。為實(shí)現(xiàn)構(gòu)建事件驅(qū)動(dòng)型架構(gòu)這一目標(biāo),你需要考慮周全,事先安排好所有功能。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
淺談服務(wù)治理、微服務(wù)與Service Mesh(二) Spring Cloud從入門到精通到放棄
作為Java工程師,你會(huì)用Spring嗎?
【連載二】從經(jīng)濟(jì)學(xué)角度剖析構(gòu)建自己的平臺(tái)
IoT當(dāng)前最重要的機(jī)遇在這里,國內(nèi)首次全面解讀專為邊緣計(jì)算而生的EdgeX Foundry!
溯源微服務(wù)開發(fā)體系:一位Java開發(fā)者的轉(zhuǎn)型思考
在pivotal cloud foundry上申請(qǐng)賬號(hào)和部署應(yīng)用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服