更新時(shí)間:2020-03-17 10:10:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2590次
今天小編分享一下最近一個(gè)項(xiàng)目的部分架構(gòu)設(shè)計(jì),主要還是根據(jù)對(duì)業(yè)務(wù)的理解來(lái)構(gòu)思。主要是對(duì)部分功能的設(shè)計(jì),涉及到消息中間件、內(nèi)外網(wǎng)隔離、故障隔離等相關(guān)的技巧。
項(xiàng)目需求
項(xiàng)目是進(jìn)行社交媒體的發(fā)布,需要對(duì)接微信、微博、以及海外的Facebook、Twitter、Youtube等平臺(tái),通過(guò)定制的編輯器對(duì)稿件進(jìn)行編輯,然后一鍵發(fā)布到所對(duì)應(yīng)的平臺(tái)上。
業(yè)務(wù)流程
編輯器:可對(duì)所有類(lèi)型的稿件進(jìn)行編輯,它會(huì)對(duì)不同類(lèi)型的稿件進(jìn)行不同的條件限制以滿(mǎn)足最終的發(fā)布要求。
中間層:收到編輯器的簽發(fā)請(qǐng)求開(kāi)始對(duì)數(shù)據(jù)進(jìn)行封裝,依據(jù)不同平臺(tái)的數(shù)據(jù)格式進(jìn)行處理。
發(fā)布層:對(duì)中間層封裝好的數(shù)據(jù)發(fā)布到對(duì)應(yīng)的平臺(tái)。
本文主以獲取微博官方表情的接口為例,發(fā)布層定時(shí)調(diào)用微博服務(wù)器進(jìn)行表情的獲取,對(duì)獲取到的數(shù)據(jù)寫(xiě)入文件再上傳到nas并通過(guò)mq通知中間層,目前的mq是備用方案,中間層也可以定時(shí)從nas中讀取文件并更新數(shù)據(jù)到數(shù)據(jù)庫(kù),編輯器則直接調(diào)用中間層進(jìn)行數(shù)據(jù)獲取,由于一些別的因素此處并未引入緩存。這就是獲取微博官方表情接口的一個(gè)大概流程,下面會(huì)結(jié)合構(gòu)架設(shè)計(jì)圖來(lái)說(shuō)明為什么要這么設(shè)計(jì)。
架構(gòu)設(shè)計(jì)
設(shè)計(jì)初衷
出于安全考慮發(fā)布層需要部署到接口機(jī)上直接跟外網(wǎng)進(jìn)行交互,而發(fā)布層部署在內(nèi)網(wǎng)服務(wù)器,發(fā)布層調(diào)用接口獲取到的數(shù)據(jù)先寫(xiě)入nas服務(wù)器的文件中,然后中間層去定時(shí)讀取nas中文件進(jìn)行讀取并把數(shù)據(jù)入庫(kù)。nas是可以供內(nèi)外網(wǎng)訪(fǎng)問(wèn)的,這樣的話(huà)如果有人對(duì)發(fā)布層進(jìn)行惡意攻擊的話(huà)也不會(huì)影響到中間層和其他的服務(wù),從而進(jìn)行內(nèi)外網(wǎng)隔離并起到一個(gè)故障隔離的作用。
細(xì)心的小伙伴可能發(fā)現(xiàn)發(fā)布層和中間層既然已經(jīng)加入了mq為什么中間層還有再定時(shí)去讀取nas中的文件呢?
假設(shè)在單機(jī)情況下mq掛了的話(huà)中間層就無(wú)法取到最新的數(shù)據(jù),假如發(fā)布層的接口是每隔1一個(gè)小時(shí)調(diào)用一次,然而中間層一個(gè)小時(shí)之內(nèi)并沒(méi)有收到數(shù)據(jù)的話(huà)那么他就主動(dòng)的去讀取nas中的文件,當(dāng)然具體的實(shí)現(xiàn)中還需要進(jìn)行相關(guān)的處理。
總結(jié)
對(duì)設(shè)計(jì)來(lái)說(shuō)沒(méi)有什么是最好的,所有的設(shè)計(jì)都需要在不斷的實(shí)踐中進(jìn)行調(diào)整。所以大家在工作中不要以為設(shè)計(jì)是多么難做的事情,總要去不斷的進(jìn)行嘗試,如果說(shuō)碰到一個(gè)還不錯(cuò)的公司給你這種機(jī)會(huì)的話(huà)一定不要錯(cuò)過(guò),也不要怕出什么問(wèn)題,既然有人信任你那你就一定要去嘗試,慢慢的等你在面試過(guò)程中說(shuō)起這種經(jīng)歷的時(shí)候你就會(huì)知道你曾經(jīng)的努力都沒(méi)有白費(fèi)。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java架構(gòu)師視頻下載:Java架構(gòu)設(shè)計(jì)”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743