AJAX使用延伸之負載均衡

AJAX使用延伸之負載均衡

版權歸:JDream314所有

轉載處需指出本文的地址和出處。

    AJAX——Asynchronous JavaScript and XML,它是通過javascript實現客戶端和服務器之間的異步交互。在一般的情況下我們知道,當我們訪問一個頁面時(動態頁面),服務器是將頁面的所有內容全部加載到頁面中再返回到客戶端。當客戶端的頁面需要加載新的內容時,就需要刷新頁面,重新從服務器獲得新的信息。即使客戶只需要頁面的一部分內容變化,而不是全部的內容更新。此時ajax就解決了這種需求,ajax可以根據客戶的需求返回客戶真正需要的內容,而不需要刷新頁面。例如:網上最多的小項目——無刷新的聊天室,這就是利用ajax進行無刷新的加載聊天內容,我們可以想象,如果每加載聊天內容就要刷新頁面,那是多麼蛋疼的事!今天在這裏不是介紹ajax的基礎知識,而是介紹一下我個人在ajax方面的一些想法——負載均衡。

    AJAX,我們知道它可以在頁面的任何時候和服務器進行交互,並從服務器獲得信息。那麼這樣我們就可以不必一次性的從服務器端獲得獲得一個頁面的所有頁面的信息,就依據這個思路,我們就可以減輕服務器的負載。因爲一個頁面的事務就可以分階段的處理,甚至可以在服務器端進行分割,合理的安排服務器的處理過程,從而使得服務器負載均衡。下面談談我的具體實施思路:當用戶要訪問一個頁面時,首先是將頁面的主要信息先返回,而一些次要的信息可以使用ajax在頁面加載完畢後在訪問服務器從服務器端獲取信息,甚至可以讓用戶選擇所要加載的內容,這樣就可以使得頁面的內容對於用戶來說更加的有效,從而使得服務器所處理的業務更加的有價值,使得服務器充分的得到利用!

    下面我談談我更大膽的想法。其實通過上面的思想我們可以做更大的創新,我們知道html是用來顯示對從服務器傳遞過來的信息,html是b/s模式下和用戶交互的唯一方式,它可以對內容的展示方式進行控制,提供給用戶和服務器數據傳輸的界面。在現在的開發中,一些前臺設計人員,看到前臺的頁面有後臺代碼是很頭痛的事,雖然有不少的解決辦法,如el表達式,smarty。但是對於一個只會前臺設計的人來說,還是有點麻煩!那麼假設一下,我們頁面的所有來自服務器的信息都是通過ajax來獲取,會怎麼樣?而我們的前端的文件格式都是html格式,都是真正的靜態,而需要什麼僞靜態。下面舉個例子說明:

假設我們訪問test.html?p1=1&p2=3,我們可以在test.html在加載的時候使用js獲得地址欄中的參數(這個實現百度有,我以前百度到過),然後通過這些參數通過ajax訪問服務器獲得該頁面所要展示的內容,然後從服務器獲得的內容通過js加載到頁面中,此時加載不需要刷新頁面,可以根據頁面內容的主次先後的通過ajax依次訪問,也可以根據用戶的選擇加載信息。我們可以試想一下,如果真的這樣,那麼我們的web前臺將只剩下真正的html文件,而不需要使用什麼php,jsp,asp或者是aspx。我們可以真正是實現前臺的展現和後臺的業務邏輯處理真正的分離,實現前臺設計人員真正的不在擔憂後臺服務器的代碼,因爲所有的動態內容都將從服務器端傳遞過來。而前臺要做的就是確定那塊顯示那些內容,而這些內容不再需要什麼el表達式,smarty表達式來展現了,全都由ajax來填入到頁面中。這樣我個人覺得真正的實現了前臺和後臺業務邏輯的分離。同時也減輕了服務器的負載,因爲這樣的訪問可以根據客戶自己的喜好或者是系統設定來對服務器的訪問,也可以在服務器端設計一個類似一個調度算法,對來自客戶端的請求進行分析處理,而不是盲目的處理。從而實現服務器的充分利用。同時也減少了網速對訪問頁面的影響,因爲不需要加載的頁面的所有內容!

    以上是本人對ajax的一些想法,可能有些異想天開,但是個人覺得是可以實施的,並想在以後的開發中真正的用上,真正的實現MVC架構。如有不足之處希望指出,希望有共同想法的一起探討!

謝謝瀏覽!本文完!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章