說明:
在學習建立大型系統專案架構前
世界上有很多很棒的模仿對象
站在他們的角度上去思考,這就是解決的好方法
架設普通流量的網站,很簡單,但最不容易的就是瞬間大量資訊的流通
所以在此想推薦使用的是AWS
關於AWS的優點,網路上很多
在此介紹我曾用過的方式
建構大型專案,通常我們會把很多細微的部分切割開來,譬如說sql的運算,frontEnd入口網站的分流,backEnd的分流匹配…等等
在不同伺服器間互相的溝通,達到在big data速度上的最大匹配效益
當然我們可以無上限的衝高我們單一主機的硬體設備,但遲早會有崩頂的一天
我看過一句話,『絕對無法想像google的伺服器是用大量的次等,甚至更低階的伺服器串聯而成,透過程式的運算,若系統卡住,立即透過其他的backEnd產生支援』
其實我對於linux or 大型系統沒有什麼概念,憑著這句話,就開始著手規劃心中的藍圖。
方式是用戶透過frontEnd去跟backEnd詢問,達到分工的效果,當然我們也可以把sql拆開來獨立成一個自主的系統,但目前運算量尚為達到最大,所以目前將sql與frontEnd作結合。
至於關鍵點的server間的溝通,可以利用區域網路透過socket去結合兩者。
frontEnd的基礎架構:
linux、apache、 sql:
backEnd的基礎架構:
linux
補充:
通常我們在sql,存入大量big data後,有時會遇到一個問題,就是index的擴增太快,排序錯亂,若超出item設定的格式上限,容易造成資料庫錯誤,所以隔一段時間就要優化你的data index,這部分的解決方法還沒想到:
故暫時的想法為重新整理資料表的index排序
補充:
通常我們在sql,存入大量big data後,有時會遇到一個問題,就是index的擴增太快,排序錯亂,若超出item設定的格式上限,容易造成資料庫錯誤,所以隔一段時間就要優化你的data index,這部分的解決方法還沒想到:
故暫時的想法為重新整理資料表的index排序
SET @newid=0;
update imageRelation set id = (SELECT @newid:=@newid+ 1);
As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我
歡迎轉載,請註明出處,感謝。
沒有留言:
張貼留言