Spring Boot for Apache Geode & Pivotal GemFire 1.1.0.RELEASE & 1.2.0.M1 发布!

发布 | John Blum | 2019年8月23日 | ...

我代表 Spring 和 Apache Geode 社区,很高兴宣布 Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.1.0.RELEASE1.2.0.M1 版本发布。

SBDG 1.1.0.RELEASE 可在 Maven Central 中获取。

SBDG 1.2.0.M1 可在 Spring Milestone 仓库中获取。

1.2.0.M1 有哪些新特性

Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.2.0.M1 是一个基准发布版本,旨在将 SBDG 与最新的 GemFire/Geode 和 Spring 组件对齐

  • Spring Framework 5.2.0.RC1

  • Spring Boot 2.2.0.M5

  • Spring Data Moore-RC2/2.2.0.RC2

  • Spring Session Corn-M3/2.2.0.M3

通过 Spring Data Moore,此版本还引入了

  • Apache Geode 1.9.0

  • Pivotal GemFire 9.8.3

回顾

Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.1 涵盖了许多方面。在此发布系列中,我们包含了许多重要的更改和特性,以帮助开发者保持高效并解决重要且相关的问题。

让我们回顾一下其中的一些亮点和值得提及的内容。

新依赖

SBDG 1.1 基于

  • Spring Framework 5.1.9.RELEASE

  • Spring Boot 2.1.7.RELEASE

  • Spring Data Lovelace-SR10/2.1.10.RELEASE

  • Spring Session Bean-SR7/2.1.7.RELEASE

通过 Spring Data Lovelace,此版本引入了

  • Apache Geode 1.6.0

  • Pivotal GemFire 9.5.4

有关版本的更多详细信息,请参阅 SBDG 版本兼容性矩阵

对缓存用例和模式的支持

SBDG 1.1 现在专门支持 3 种最常见的缓存设计模式

毋庸置疑,在云环境下微服务的普及,使得缓存成为云原生开发中最常见和重要的模式之一。

缓存不再仅仅是访问关系型数据库时提升性能所需。当微服务成为您的应用程序访问信息的数据源时,缓存将变得越来越普遍和关键。

这是因为网络本身容易发生故障,并且在发生任何网络跳转时都会产生显著的延迟惩罚。这对于在高负载下的应用程序来说可能是致命的,会导致各种级联故障(例如内存问题)。目标是尽可能减少不必要的网络调用,尤其是在读操作远多于写操作的情况下,这很容易做到。

缓存 (HTTP) Session 状态将继续是最常见的缓存形式。幸运的是,Spring Session 的强大功能,特别是Spring Session for Apache Geode & Pivotal GemFire,管理您的 Spring Boot 应用程序的 Session 状态(适用于所有类型的 Session,包括 HTTP、WebSocketsWebSessions (Reactive))非常简单。此外,Spring Session 支持各种后端存储(JDBCRedisMongoDBHazelcast,当然还有 GemFire/Geode),这使得在需求变化时切换提供商变得极其简单。

混合云部署

借助 SBDG 1.1,您现在可以将您的 Spring Boot 应用程序部署到 Pivotal CloudFoundry (PCF),同时仍能将这些应用程序连接到外部数据源。

当数据必须受到保护并保留在本地时,混合云部署是一种常见的安排。对于试图迁移到云并现代化其技术栈的公司来说,这也是一个非常常见的中间步骤。混合部署使公司能够采取渐进的方式采用云,而不是孤注一掷的方式。

因此,SBDG 包含一流的支持,可以在 PCF 中运行您的 Spring Boot 应用程序,同时将这些应用程序连接到外部管理的独立 Apache Geode 或 Pivotal GemFire 集群。

另外,除了混合云部署之外,SBDG 还支持

轻松切换

SBDG 1.1(甚至在 1.1 之前)一直专注于开发者生产力:帮助用户尽可能轻松快速可靠启动并运行

该策略的一部分旨在帮助用户和客户

  1. 开源 (Apache Geode) 切换到商业 (Pivotal Cloud Cache)

  2. 非托管独立、外部)环境迁移到托管环境 (Pivotal Cloud Foundry)

  3. 只需很少甚至无需代码或配置更改;它应该能直接工作!

事实上,您可以在两个方向上进行切换同样重要。从托管环境切换回独立环境,以及从商业产品切换回开源产品。再次强调,它应该能直接工作!

这就是切换的全部意义…​ "选择",特别是 "您的" 选择

更多更改

除了上述更改之外,SBDG 1.1 中还有其他一些更改。请参阅变更日志了解完整详情。

下一步计划

目前的重点将全部转移到 SBDG 1.2。我们将继续投入以下几个领域。

  • 首先也是最重要的是开发者生产力,这一点再怎么强调也不为过。

这在技术上意味着什么?

我们计划引入一个新的注解 @EnableClusterAware,当它与您的 @SpringBootApplication 类一起声明时,将使您能够从本地开发环境(例如您的 IDE)切换到客户端/服务器环境,而无需担心连接详情和集群配置。SBDG 会替您解决这些问题!这将使得在不同环境(例如开发和测试/预发布)之间的"切换"更加容易,尤其是在调试和测试代码时需要快速迭代的情况下。

  • 目标运行时用户支持(参见Issue #44

此外,我们还将使在 PCF 环境下的开发者能够在运行应用程序时,为其部署的 Spring Boot 应用程序分配具有特定角色的用户。这对于某些用例非常重要,例如应用程序必须以只读模式运行,即应用程序只能读取数据,不能修改数据。

  • 多站点缓存

为了补充旁路缓存 (Look-Aside)内联缓存 (Inline)近缓存 (Near) 模式,我们将提供另一份指南和示例代码,展示多站点 WAN 拓扑应用于缓存的强大功能,以及这如何帮助进一步提高应用程序架构的可用性和弹性(例如,考虑主动-主动 (Active-Active)主动-被动 (Active-Passive)可用区 (Availability Zones) 等)。

  • 集成到 Spring Initializer

SBDG 1.2 版本正在集成到 start.spring.io。在不久的将来,当您开发 Spring Boot 应用程序时,将可以选择 Apache Geode 选项,这将方便地为您提供 spring-geode-starter 依赖项。

还有更多精彩内容即将推出。

反馈

一如既往,非常感谢并欢迎您持续提供反馈。正是您的贡献使 SBDG 成为一个有价值的项目。谢谢您。

问题 | 拉取请求 | StackOverflow

附注:请不要错过今年 10 月 7 日至 10 日在德克萨斯州奥斯汀举行的 SpringOne Platform 2019 大会上向顶尖专家学习的机会。期待在那里见到大家!

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

保持领先

VMware 提供培训和认证,助您加速发展。

了解更多

获取支持

Tanzu Spring 通过一项简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部