掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
很多同學(xué)對技術(shù)派項(xiàng)目非常感興趣,目前技術(shù)派教程已經(jīng)更新了三十篇,今天就給大家講講技術(shù)派的架構(gòu)設(shè)計,讓你對該項(xiàng)目有一個整體的認(rèn)識。

創(chuàng)新互聯(lián)建站不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨(dú)特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的做網(wǎng)站、成都網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式成都全網(wǎng)營銷需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價值!
通常對于技術(shù)人員而言,在開啟一個新的項(xiàng)目之前,做了前期的調(diào)研、立項(xiàng)之后,第一件事情并不是開始搭建工程、擼代碼,一個整體的架構(gòu)方案設(shè)計、評審都屬于不可忽視的環(huán)節(jié)。
接下來我將盡量追溯還原技術(shù)派的整體架構(gòu),是如何從 0 到 1 進(jìn)行敲定的。
不 BB,上目錄:
在查看本文之前,請確保已正確了解技術(shù)派的主營業(yè)務(wù),覆蓋的功能點(diǎn),如有疑問,可以先體驗(yàn)一下技術(shù)派網(wǎng)站,訪問地址:https://paicoding.com
在業(yè)務(wù)模塊拆解這一過程中,除了業(yè)務(wù)屬性維度之外,還有一個非常重要的屬性是參與者角色。
作為一個社區(qū)系統(tǒng),用戶角色非常容易劃分
權(quán)限劃分
那么這三個角色的權(quán)柄是怎么劃分的呢?
從上圖可以比較清晰的看出三個角色的劃分
差異性劃分
接下來就需要抓重點(diǎn),看一下上面三個角色的主要差異點(diǎn)在哪里
基于以上分析,我們可以將技術(shù)派的用戶分為
整個社區(qū)系統(tǒng),按找業(yè)務(wù)邊界先進(jìn)行一版本初始劃分:
然后再針對上面的進(jìn)行簡單的細(xì)化拆分
再上面進(jìn)行簡單拆分之后,會發(fā)現(xiàn)幾個關(guān)鍵點(diǎn)
消息通知的觸發(fā)點(diǎn)需要進(jìn)一步確認(rèn),但是它本身又屬于一個相對獨(dú)立的業(yè)務(wù)板塊,因此重點(diǎn)關(guān)注交互方式
什么樣的需要通知?如何觸發(fā)通知?
怎么通知給用戶?
這種與業(yè)務(wù)相關(guān),但是又可以抽離于業(yè)務(wù)之外獨(dú)立存在,可以考慮建設(shè)通用的服務(wù)能力
社區(qū)的搜索、推薦,雖然不影響核心業(yè)務(wù)功能,但是否需要考慮?
社區(qū)運(yùn)營
基于以上,我們進(jìn)行業(yè)務(wù)模塊拆分,先確定以下板塊:
通常,在業(yè)務(wù)拆解這里,希望達(dá)到的目的是讓參與者,能知曉這個項(xiàng)目的整體情況,可以劃分為多少業(yè)務(wù)域,明確業(yè)務(wù)模塊的主營范疇,確定彼此的邊界
在這一階段,我們可以先對技術(shù)派的整體拆分,得出以下結(jié)論:
角色
業(yè)務(wù)模塊
文章
評論
專欄
用戶
運(yùn)營
推薦
搜索
統(tǒng)計
消息通知
注意
接下來我們就需要將上面拆分的角兒和業(yè)務(wù)模塊串聯(lián)起來,看一下我們的整個系統(tǒng)是怎么玩的
對于技術(shù)派的核心玩法,在于作者發(fā)布文章,讀者閱讀文章;整體交互相對清晰簡單,實(shí)際上這一塊是可以省略的;當(dāng)然我這里也補(bǔ)上這個流程,主要以文章發(fā)布,到讀者閱讀文章,并點(diǎn)贊,作者獲取通知這個流程,來串一下這個系統(tǒng)的整體交互流程
上面這個交互過程中,用戶中心、文章、消息中心,可以是獨(dú)立部署的服務(wù),也可以是一個進(jìn)程內(nèi)的服務(wù);但是從邏輯上,他們彼此是獨(dú)立的;針對上面的操作流程,可以提煉下面幾個點(diǎn)
具體的登錄方式可以是傳統(tǒng)的用戶名/密碼,也可以是手機(jī)號驗(yàn)證碼,亦或者是第三方OAuth2.0登錄
登錄之后,用戶身份識別,可以是單機(jī)的cookie/session, 也可以是分布式會話,jwt等形式
登錄交互我們最終選擇的方案是基于微信公眾號來實(shí)現(xiàn)的,下面這個交互方案適用于個人公眾號(如果是企業(yè)公眾號,可以直接使用微信的相關(guān)的API)
消息通知采用異步驅(qū)動,通過Event/Listener方式來實(shí)現(xiàn)解耦
上面的流程走完之后,接下來就是敲定整體的架構(gòu)方案,通常一個好的架構(gòu)方案一張圖就完事了,注意越是前期在意的越不是細(xì)節(jié)
下面這張圖來自于技術(shù)派開始做之前繪制的,與最終的實(shí)現(xiàn)版稍有差異,無需在意細(xì)節(jié)????
最初版的方案設(shè)計非常簡陋,當(dāng)然思路還是比較清晰的
從上面這個圖,是否能抓住整個技術(shù)派的業(yè)務(wù)模塊?是否能確定業(yè)務(wù)模塊的定位(哪些偏業(yè)務(wù)屬性,哪些偏技術(shù)屬性)?是否能確定不同角色的側(cè)重點(diǎn)?
能滿足上面三個點(diǎn),和其他人進(jìn)行溝通時,不會產(chǎn)生歧義即可;當(dāng)然上面這個圖是缺少交互方案的,通常在業(yè)務(wù)架構(gòu)圖中,不太會整這個,有放在細(xì)節(jié)里進(jìn)行鋪開,也有放在詳細(xì)設(shè)計中的
接下來看一下技術(shù)派最終定稿的整體業(yè)務(wù)架構(gòu)圖,如下:
再看一下前后臺的業(yè)務(wù)拆分
最后再看一下技術(shù)派的技術(shù)架構(gòu)圖
這一篇不算是正規(guī)的技術(shù)架構(gòu)方案說明書,更多的是將整個方案的落地過程給大家刨析了一遍,算是拋磚引玉,希望可以給大家今后寫架構(gòu)方案提供一點(diǎn)幫助。
現(xiàn)在總結(jié)的方案設(shè)計思路如下:
是不是還沒看爽?

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流