WebIM项目的架构设计以及实现
直接上圖?
背景
最近工作不是很緊,就想著自己著手打造一款產(chǎn)品,解決一些問題,然后綜合身邊運維同事的一些問題之后,有了該產(chǎn)品的原型。?
問題現(xiàn)狀
我們是給華夏提供的信息化平臺,也就是我們的甲方,然后他們有自己內(nèi)部的溝通軟件,類似于飛秋這樣的即時工具,所以用戶都是通過該工具尋找我們運維咨詢問題,然而我們每月都會有運維報事的提交反饋,然后會根據(jù)報事量要債,甲方爸爸又比較強勢,所以每次的報事量都會砍壓,多了說系統(tǒng)問題,真的是為難。
解決方案
針對該問題,提供一款webim,嵌入到系統(tǒng)中,然后通過系統(tǒng)來咨詢,這樣,每次溝通的問題都能記錄下來,然后每月再生成運維的報事量等一些統(tǒng)計報表吧,這樣一來能提高報事量的準(zhǔn)確性,二來也能減輕他們的一些工作。
以上是改項目萌發(fā)的背景。
要解決的問題有了,然后根據(jù)問題,自己大致畫了下系統(tǒng)的架構(gòu)設(shè)計,不足之處也請各位多多指教
設(shè)計要點
1. 考慮到公司多套系統(tǒng),對瀏覽器兼容的問題,所以采用signlar作為主要手段,之所以不采用webscokt是因為我們一些系統(tǒng)不支持H5,也就無法使用了
2. 系統(tǒng)的及時性以及負(fù)載能力,所以采用redis作為緩存數(shù)據(jù)庫,所有與數(shù)據(jù)庫的交互優(yōu)先使用redis
3. 基于redis的固化以及穩(wěn)定性,所以最終的數(shù)據(jù)還是要放入物理數(shù)據(jù)庫,所以存入redis的一些數(shù)據(jù),要通過定時任務(wù)quartz定時寫入sqlserver中
4. 既然是獨立的一個產(chǎn)品,就要考慮其實用性、可擴展性、易于維護等,因為本產(chǎn)品的要嵌入其他系統(tǒng)中,所以要便于引用,所以最終形式便是其他系統(tǒng)引用本產(chǎn)品的一個js文件,然后調(diào)用一個初始化方法即可完成
代碼實現(xiàn)
.Net Core +signlar + redis webim代碼實現(xiàn)(一)
.Net Core +signlar + redis webim代碼實現(xiàn)(二)
后序
不會做產(chǎn)品的程序猿,不是一個好的項目經(jīng)理,而我一直是打雜、端茶倒水的那一位~
總結(jié)
以上是生活随笔為你收集整理的WebIM项目的架构设计以及实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用pyecharts绘制分级地图的案例
- 下一篇: MP4格式基本概念——非常详细,神文