網站地址: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、基本模塊
- 留言,多個位置使用,組件化處理
- 自動化分享,發布文章自動分享到 SNS 上
- 防盜鏈/盜鏈
- 數據自動備份
- 后台發文系統
- 提問交流平台
- 陌生人交流模塊
- 最新資訊的爬蟲
- RSS聚合
- QQ回復/郵件自動回復功能
后續會針對每個功能模塊,進行詳細的記錄。
