一、概要:
現如今隨著Web網絡繼續為企業提供一種經濟的銷售他們商品和服務的方式,我們仍將會看到更多基於Web應用的投資。Web的一個內部特征,和當我們設計、維護其web基礎架構時企業所面臨的一個最常見的技術問題,就是用戶浏覽器和web服務器間的一種無狀態交互。這種無狀態交互對於隨機訪問頁面或點擊超鏈接時可能是非常好的,然而,就像在線銀行和電子商務一樣還是有許多web應用需要了解在網站上用戶的交互和當前狀態。無法妥善地進行存儲和訪問安全認證,或添加、刪除的列可能被放置在虛擬購物車裡,可能導致災難性的後果。
就像我們所知道的cookie一樣,然而,Cookie是Web服務器發送給Web浏覽器的體積很小的純文本信息,以文本文件的形式存放在用戶的計算機中,這些Cookie一般用於保存用戶的訪問狀態,當用戶再次訪問同一個網站時會將這些Cookie信息發送回服務器,使得服務器能夠恢復用戶上一次的訪問狀態。使用Cookie的根本目的是為了在用戶訪問期間實現不同頁面之間的數據傳輸,以解決HTTP無狀態的問題。Cookie技術能夠增強網站的服務功能,為用戶帶來方便。但是Cookie還有許多限制和不足,針對Cookie技術的局限性,就提出了會話(Session)的概念,並將會話技術集成在語言中。會話是指用戶訪問Web服務器期間存放在Web服務器上的所有與用戶訪問狀態有關的信息。每次新創建的會話都有一個唯一的標識串,稱為會話ID,會話ID被保存在Web服務器中,其它會話信息都在會話ID的索引下進行保存和讀取。一次會話從創建到被刪除的時間稱為會話生存期,會話生存期的長短由會話管理機制決定。Cookie與會話的不同之處在於:Cookie將用戶訪問的狀態信息通過Web浏覽器存放在用戶計算機中,而會話通過會話管理機制存放在Web服務器中。
在本節中,我們將探討MySQL和MySQL集群如何使用一種經濟有效、高性能、開源的以數據為中心的會話(session)管理解決方案。