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 的 Dependency Management Plugin

從 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 社群所有即將舉行的活動。

檢視所有