Spring Session for Apache GeodeSpring Session for Apache Geode2.7.0

注意

截至 2022 年底,VMware 宣佈 Spring for VMware GemFire 專案正式釋出。

雖然這些基於 Spring 的 VMware GemFire 專案是開源的,並且是 Spring for Apache Geode 專案的繼承者,但它們並非替代品。VMware GemFire 分支自 Apache Geode 專案,並非開源專案。

不建議開始使用 Spring for Apache Geode 的新專案,而是建議過渡到 Spring for VMware GemFire,請從這裡開始。此外,Spring 產品系列還提供了與其他同類會話快取提供程式的頭等艙整合。另請參閱這裡

最後請記住,Spring for Apache Geode 專案的維護將持續到 OSS 和商業支援結束。維護僅包括 CVE 和關鍵修復。不會新增新功能或進行增強。可以在這裡檢視 Spring Session for Apache Geode 的支援時間表。

概述

Spring Session for Apache Geode (SSDG) 使用 Apache Geode 提供了核心 Spring Session 框架的實現,用於管理使用者的 會話 資訊。

會話狀態透過利用 Spring Data for Apache Geode 儲存在 Apache Geode 中。透過與 Apache Geode 整合,您可以在 Spring Boot 應用程式中輕鬆獲得該技術的全部強大功能(強一致性低延遲高可用性彈性 等)。

甚至可以在 Pivotal CloudFoundry 中部署和執行 Spring Boot 應用程式時使用 SSDG,透過使用 Pivotal Cloud Cache(它本身基於 Apache Geode)。

特性

Spring Session for Apache Geode (SSDG) 提供以下特性

  • 使用 Apache Geode 作為後端進行 HTTP 和 WebSocket 會話狀態管理。

  • 叢集和分散式會話管理 - 提高系統架構的可用性和彈性。

  • 強一致性 - Apache Geode 提供強一致性保證,非常類似於資料庫。

  • 自定義過期策略 - 例如,支援固定會話超時。

  • 自定義資料序列化 - 使(HTTP)會話狀態可以透過非 Java 序列化 的方式進行序列化,從而放入會話中的應用類無需實現 java.io.Serializable

  • 自定義更改檢測 - 您可以決定會話是否“髒”以及在客戶端/伺服器拓撲中,Spring Boot 應用程式和 Apache Geode 叢集之間傳送什麼(例如,增量)。

  • 強大的釋出/訂閱機制 - 允許您註冊或表達對會話更改的興趣,使用查詢謂詞接收更新通知。

將 Spring Session for Apache Geode 新增到您的構建中

Spring Session for Apache Geode 是 Maven BOM(物料清單)的一部分,用於協調核心 Spring Session 專案與此 Apache Geode 擴充套件之間的版本。每個 BOM 釋出都稱為一個釋出列車,並有一個命名策略,例如:Apple-SR9Bean-SR12Corn-SR6Dragonfruit-SR32020.0.72021.0.42021.1.12021.2.0-M12022.0.0-M1

使用 Maven BOM

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-bom</artifactId>
      <version>2021.1.1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

然後,您可以將 BOM 作為依賴項新增到 Spring Boot 應用程式的 Maven POM 檔案中

<dependencies>
  <dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-geode</artifactId>
  </dependency>
</dependencies>

使用 Gradle BOM

由於 Gradle 對 Maven BOM 沒有頭等艙支援,您可以使用 Spring 的 依賴管理外掛

從 Gradle 外掛門戶應用外掛(如果需要,請更新版本)

plugins {
  id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

然後使用它匯入 BOM

dependencyManagement {
  imports {
    mavenBom 'org.springframework.session:spring-session-bom:2021.1.1'
  }
}

最後,在專案中新增一個不帶版本的依賴項

dependencies {
  compile 'org.springframework.session:spring-session-data-geode'
}

Spring Boot 配置

如果您正在使用 Spring Boot,特別是 Spring Boot for Apache Geode (SBDG),您可以在 Spring Boot 應用程式的 Maven POM 檔案中包含 Spring Session for Apache Geode (SSDG) 的 starter

例如

<dependencies>
  <dependency>
    <groupId>org.springframework.geode</groupId>
    <artifactId>spring-geode-starter-session</artifactId>
    <version>1.6.3.RELEASE</version>
  </dependency>
</dependencies>

有關更多詳細資訊,請參閱 SBDG 版本相容性矩陣

Spring Initializr

快速啟動您的專案

領先一步

VMware 提供培訓和認證,助您快速進步。

瞭解更多

獲取支援

Tanzu Spring 在一個簡單的訂閱中為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部