在應用中使用Java數據網格的5個理由

jopen 12年前發布 | 17K 次閱讀 Java Java開發

在這篇文章中,我們探討在應用中使用Java數據網格在內存中緩存Java對象的5大理由。在后面的文章中,我們將探討一些其他的數據網格功能,超越數據存儲,可以徹底改變你的Java體系結構,就像網格計算和事件。
內存是快速的
Java數據網格在內存中存儲Java對象。內存存取速度快,延遲低。所以訪問磁盤或數據庫的數據存儲是應用程序中的主要瓶頸,而在存儲層的上層使用數據網格作為內存緩存會給你帶來性能提升。
擴展你的應用程序共享狀態
如果你需要在JVM之間共享狀態來擴展您的應用程序,那么使用Java數據網格而不是數據庫會增加你的可擴展性。一個典型的共享狀態的體系結構如下圖所示,應用服務器層在數據網格中存儲共享Java對象,并且這些對象可以在你的架構的所有應用程序服務器節點中可用。

在應用中使用Java數據網格的5個理由


從應用服務器層分離數據網格層具有許多優點:

  • 應用程序可以被重新部署并重新啟動并不會丟失共享狀態
  • 數據網格的JVM和應用程序的JVM可以單獨調整
  • 狀態可以在多個不同的應用程序中共享
  • 每一層可以根據工作負載分別進行水平擴展
  • </ul>

    典型共享狀態的案例包括:卡片安全代碼的PCI兼容存儲;網游中的游戲狀態;網絡會話數據;電子商務中的價格和目錄。任何需要低延遲訪問的可以存儲在共享的數據網格中。

    高可用性的內存數據

    不僅低延遲而且擴展共享狀態。Java數據網格也為你的內存數據提供高可用性。當在數據網格中存儲Java對象時,主要對象存儲在一個數據網格的JVM中,二級備份對象的副本存儲在不同的數據網格JVM節點上,確保一個節點發生故障而不會丟失數據。

    在應用中使用Java數據網格的5個理由

    數據網格的客戶端并不需要知道是在哪里的數據訪問,因此對你的應用來說是高可用性是透明的。

    擴展內存數據容量

    在數據網格中,Java對象沒有完全在所有的數據網格JVM中復制,而是作為主要對象和次要對象被存儲。這意味著我們增加了更多的JVM堆用來在內存中存儲Java對象的更多數據網格的JVM節點。

    例如,我們構建一個擁有20個JVM的數據網格,每個有4Gb的可用堆,理論上我們可以存儲80Gb的共享數據對象。如果我們假設我們有一個重復的高可用性系統,那將會使存儲減半,因此我們能在內存中存儲40Gb的Java對象。

    使用JPA本地集成

    Java數據網格有JPA的本地集成框架,如TopLink和Hibernate,因此數據網格可以作為JPA和數據庫之間的第二級緩存。如果數據庫訪問有關的延遲是一個關鍵的性能瓶頸,這可以給你的數據庫驅動應用程序帶來很大的性能提升。

    在應用中使用Java數據網格的5個理由

    原文:http://blog.c2b2.co.uk/2014/01/5-reasons-to-use-java-data-grid-in-your.html

    來自:http://blog.sina.com.cn/s/blog_756e07630101hm70.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!