1. 程式人生 > >高併發解決方案--頁面靜態化

高併發解決方案--頁面靜態化

一、什麼是頁面靜態化:

簡 單的說,我們如果訪問一個連結 ,伺服器對應的模組會處理這個請求,轉到對應的jsp介面,最後生成我們想要看到的資料。這其中的缺點是顯而易見的:因為每次請求伺服器都會進行處理,如 果有太多的高併發請求,那麼就會加重應用伺服器的壓力,弄不好就把伺服器 搞down 掉了。那麼如何去避免呢?如果我們把對 test.do 請求後的結果儲存成一個 html 檔案,然後每次使用者都去訪問 ,這樣應用伺服器的壓力不就減少了?

那麼靜態頁面從哪裡來呢?總不能讓我們每個頁面都手動處理吧?這裡就牽涉到我們要講解的內容了,靜態頁面生成方案… 我們需要的是自動的生成靜態頁面,當用戶訪問 ,會自動生成 test.html ,然後顯示給使用者。

二、下面我們在簡單介紹一下要想掌握頁面靜態化方案應該掌握的知識點:

1、 基礎- URL Rewrite

什麼是 URL Rewrite 呢 ? URL 重寫。用一個簡單的例子來說明問題:輸入網址 ,但是實際上訪問的卻是 abc.com/test.action,那我們就可以說 URL 被重寫了。這項技術應用廣泛,有許多開源的工具可以實現這個功能。

2、 基礎- Servlet web.xml

如果你還不知道 web.xml 中一個請求和一個 servlet 是如何匹配到一起的,那麼請搜尋一下 servlet 的文件。這可不是亂說呀,有很多人就認為 /xyz/*.do 這樣的匹配方式能有效。

如果你還不知道怎麼編寫一個 servlet ,那麼請搜尋一下如何編寫 servlet.這可不是說笑呀,在各種整合工具漫天飛舞的今天,很多人都不會去從零編寫一個 servlet了。

三、基本的方案介紹

java高併發,如何解決,什麼方式解決 - 我學坊 - 勵志-我學坊 其中,對於 URL Rewriter的部分,可以使用收費或者開源的工具來實現,如果 url不是特別的複雜,可以考慮在 servlet 中實現,那麼就是下面這個樣子:
java高併發,如何解決,什麼方式解決 - 我學坊 - 勵志-我學坊 總 結:其實我們在開發中都很少考慮這種問題,直接都是先將功能實現,當一個程式設計師在幹到1到2年,就會感覺光實現功能不是最主要的,安全效能、質量等等才是 一個開發人員最該關心的。今天我所說的是高併發,我的解決思路是,1、採用分散式應用設計2、分散式快取資料庫3、程式碼優化