網頁

2013年7月31日 星期三

【跨server結合】心得

【環境:AWS、linux】

說明:

在學習建立大型系統專案架構前

世界上有很多很棒的模仿對象

站在他們的角度上去思考,這就是解決的好方法

架設普通流量的網站,很簡單,但最不容易的就是瞬間大量資訊的流通

所以在此想推薦使用的是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排序
SET @newid=0;

update imageRelation set id = (SELECT @newid:=@newid+ 1);

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

沒有留言:

張貼留言