本項目旨在總結先後端分離經常使用技術點,造成集前端+後端+小程序+移動端一整套的我的技術博客解決方案。技術採用主流先後端分離微服務架構,並涵蓋持續集成及自動化部署的相關解決方案。既然是以學習爲目的,可能並非以作成一個博客系統爲最終目標,可能會基於此基礎之上進行技術的擴充。css
技術方面,後端採用Java技術棧,前端使用工程化的SPA單體應用實現。項目計劃分爲兩個版本分別爲vue+Spring Cloud、react+Dubbo。除了還該經常使用的增刪改查業務以外,也會涉及高併發、限流、支付、爬蟲等主流流行技術點。html
業務方面分爲後臺+前臺場景,後臺管理系統負責對整個網站進行管理,前臺爲展現我的博客內容。除了實現博客的經常使用功能外,也但願加入秒殺、分佈式搜索、區塊鏈等功能。前端
本人才疏學淺,可能有些觀點不是很成熟,考慮的沒有很全面,望你們積極指正。也但願能夠結識更多熱愛技術的朋友,一塊兒加油,一塊兒進步。vue
所用到的主要技術點:java
2.1 後端react
數據庫:MySqlwebpack
數據訪問層:Mybatis、Spring Data Jpaios
NoSql:Redis、MongoDBnginx
持續集成:docker、k8sgit
分佈式搜索:ElasticSearch
消息隊列:RabbitMQ、ActiveMQ
版本控制:git
依賴管理:maven
分佈式:Spring Boot、Spring Cloud、Dubbo、Spring Cloud Alibaba
其餘:Quartz、FFmpeg、Spring、maven、SSO、WebMagic、Netty等
2.2 前端
前端框架:Vue、React、Ant Design、Element UI
網絡請求:axios、Fetch
表格圖表:ECharts
數據狀態管理:redux、vuex
路由管理:react-router、vue-router
小程序:mpvue
代碼檢查工具:ESLint
代碼打包工具:webpack
1.登陸註冊:實現對用戶名、手機號及掃碼的登陸實現,實現單點登錄功能。
2.文章模塊:對文章進行管理
3.分類目錄:對分類目錄進行管理
4.文章標籤模塊
5.做品管理:可添加本身的做品
6.友情連接管理
7.頁面管理
8.評論管理
9.菜單管理
10.用戶管理
11.網站seo設置
12.媒體資源管理:fastdfs
13.網站爬蟲設計:能夠抓取指定的數據到我的博客中
14.課程管理:能夠發佈本身的視頻等課程資源,實現收費及免費功能。包括支付
15.統計模塊:統計網站訪問量、評論量、等信息記錄網站的歷程
16.搜索:分佈式搜索實現對文章的搜索功能。
17.活動與招聘信息
18.吐槽與問答
19.網站數據備份與導入導出
20.數據字典管理
…
目前主流的技術架構採用先後端分離技術實現,在項目工程上來說,也應是分離的項目。每一個項目進行單獨開發。下面是本項目中全部的工程目錄。
4.1 版本一:
Java採用Spring Boot + Spring Cloud + Spring Data JPA 技術棧
後端項目地址:https://github.com/iquanzhan/vblog-spring-cloud
前端採用react技術棧
前端項目地址:https://github.com/iquanzhan/vblog-web-react
4.2 版本二:
Java採用Spring Boot + Dubbo + MyBatis 技術棧
後端項目地址:https://github.com/iquanzhan/vblog-dubbo
前端採用vue技術棧
前端項目地址:https://github.com/iquanzhan/vblog-web-vue
使用nginx+docker+k8s進行持續集成與發佈管理。
java採用jdk1.8
5.1開發工具
Java開發工具配置及優化
Java端採用IDEA進行開發:下載地址:https://www.jetbrains.com/
使用IDEA時有很多優質的插件,推薦安裝:
若是其餘小夥伴有更好的插件推薦,歡迎提出哦~
前端開發工具配置及其優化
Java端採用VS Code進行開發:下載地址:https://code.visualstudio.com/
爲了便於開發VS Code也有很多優質的插件推薦:
歡迎更多志同道合的朋友一塊兒交流哦,歡迎star
GitHub:
https://github.com/iquanzhan/vblog
您也能夠點擊下方更多訪問GitHub。