個人網站架構設計(一)


網站地址:http://barretlee.com

從大二開始,堅持每月3到8篇的技術分享,到現在差不多兩年了。一直在分享之中跟着大家一起進步,從最開始的點點網,到github,再到現在的博客園。分享是一件有趣的事情,能夠收到很多的反饋,漸漸地,已經把寫博當成一種習慣。

在不同的平台上寫博客會有不同的感受,但是幾乎沒有哪個平台可以滿足自己的所有需求,比如,期望沒有廣告、希望速度可以更快、自己可以更多的操作后端、找個地方放DEMO、有個NodeJS測試的環境、自定義樣式和主題等等,對我這個喜歡折騰的人來說,這些需求真是太普通了,可惜,沒有哪個平台可以提供這么多的服務。再如,我希望把更多的生活中元素或者情感的東西帶到博客中來,這些平台貌似不太適合做這些事情。

無奈之下只好自己花點錢買個主機安置個人網站。搭建一個網站是一個系統學習前后端的最佳機會,之前考慮過使用別人的框架,快捷搞定一個博客平台,但是我希望這次的網站架設能夠承受幾十萬甚至上百萬的PV(哈哈,這個可能性幾乎為零,主要為了提高標准),同時也支持一些諸如陌生人交流,網站爬蟲歸類等等附加的功能。用商業性網站的建站標准來規范化網站,也給自己一個實踐的機會~

花了四五個小時整理了思路,考慮的東西有點多,所以通過文字將建站的整個過程記錄下來。

1、網站定位

記錄生活,分享交流。凸顯交流。

2、設計理念

  • 重視體驗
  • 數據在前端
  • 實時更新
  • 快、穩定、安全
  • 自動化
  • 低消耗、低流量

3、基本架構

+------------------+     +------------------+
| Front-End        |     | Browser          |
|                  |     |                  |
|     前端處理      |     +--------------+   |
|                  |←---→| LocalStorage |   |
+--↑-----↑-----↑---+     +--------------+---+
   |     |     |                             
+--↓-----↓-----↓---+     
| NodeJS           |     +-------------+  
|     處理I/O      |     | Database    |  
|                  |←-+-→|             |  
+-----|-----↑------+  |  |             |  
      |     |         |  |             |
+-----↓-----|------+  |  +----------+  |
| PHP              |  |  |          |  |
|     處理數據      |←-+-→|   cache  |  |
|                  |     |          |  |
+------------------+     +----------+--+  

 

三個重點:

  • 前端數據緩存。數據放在本地LocalStorage中,用戶每次訪問網站,都會從數據庫拉去數據,同步到本地。低版本IE基本快死絕了,這個降級處理。
  • NodeJS 處理I/O,如果某個頁面的單日訪問量太大,不至於服務器扛不住。由於全站使用socket連接,利用NodeJS也便於后端編程。
  • 數據庫對針對訪問頻率進行cache。

4、基本模塊

  1. 留言,多個位置使用,組件化處理
  2. 自動化分享,發布文章自動分享到 SNS 上
  3. 防盜鏈/盜鏈
  4. 數據自動備份
  5. 后台發文系統
  6. 提問交流平台
  7. 陌生人交流模塊
  8. 最新資訊的爬蟲
  9. RSS聚合
  10. QQ回復/郵件自動回復功能

后續會針對每個功能模塊,進行詳細的記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM