
最近公司的一個小項目嘗試使用 .net core作為服務(wù)端進行開發(fā),并順利上線運行了一段時間,整體效果還是比較滿意的。這里記錄下整體開發(fā)過程,用于備忘和分享
背景
項目需求其實很簡單,類似于一個簡單的審批+簡單的任務(wù)管理系統(tǒng),但需要同時有PC端和APP端。
由于項目規(guī)模不大,時間也比較寬裕,組內(nèi)商量下來干脆全采用新技術(shù)來踩踩坑。這么一提,大家積極性比較高,既完成了任務(wù)同時也能學到新的知識。
前后端大家做了一個分工,前端討論下來采用React+Ant Design(不是我所關(guān)注的),后端我們決定下來用 .net core開發(fā)并部署在docker下,這對我們來說還是有一定挑戰(zhàn)的,一來是沒底,畢竟周邊沒有一個成熟的項目使用,二來我們也不是很了解。
但經(jīng)過調(diào)研發(fā)現(xiàn),還是有很多成熟案例的,所以最終拍板下來就這樣做了。
但從后面的開發(fā)經(jīng)歷來看,踩的坑真的不少。
項目架構(gòu)討論
這里只說后端部分,我們在討論后端架構(gòu)的同時,前端小伙伴已經(jīng)著手開始搭建框架和設(shè)計原型了。
在架構(gòu)方面其實大家基本觀點一致的,雖然項目小,但五臟俱全,前端不僅有PC,還有APP。
對后端來說,首先,項目外網(wǎng)是可以訪問的,得需要一個網(wǎng)關(guān);用于提供功能需求的基礎(chǔ)服務(wù);用于異構(gòu)解耦一些數(shù)據(jù),得需要一個MQ(后來通過Redis和Job給替代了);用于處理一些定時任務(wù)的Job。
在數(shù)據(jù)庫選型方面基本就是Mysql+Redis了。
由于用戶只給了我們兩臺服務(wù)器(配置也一般般),我們一直在糾結(jié)虛幾個容器出來,達到資源利用最大化。
下圖是我們這個項目的整體拆分,我主要負責的是服務(wù)和網(wǎng)關(guān)這塊(后端部分)。

相關(guān)文章
項目雖然結(jié)束了,期間也一直比較忙,項目上線后一直想找個時間把這次項目經(jīng)歷記錄下來,一來是為了鞏固和積累,二來也是鍛煉下自己的寫作總結(jié)能力。
文章陸陸續(xù)續(xù)在我的博客發(fā)布,相關(guān)鏈接如下:
- docker + .net core開發(fā)環(huán)境搭建
- 基于 .net core Restful API+Swagger搭建
- .net core下配置、數(shù)據(jù)庫訪問等操作實現(xiàn)
- .net core下對于Excel的一些操作及使用
- .net core下對于附件上傳下載的實現(xiàn)
- .net core下訪問控制層的實現(xiàn)
- .net core下驗證碼及二維碼登錄的實現(xiàn)
- .net core下定時任務(wù)的實現(xiàn)
開發(fā)環(huán)境
項目的開發(fā)環(huán)境如下:
- 操作系統(tǒng): Win10(docker安裝方便)
- 開發(fā)IDE:Visual Studio 2017
- 其他:Docker for Windows
總結(jié)
最后,也希望大家有一顆學習和總結(jié)的心,期待更加完美的自己。
另外,需要源碼的可關(guān)注我的微信公眾號Bug生活2048 回復(fù) NetCore即可獲取