保持领先
VMware 提供培训和认证,助您加速发展。
了解更多我代表 Spring 和 Apache Geode 社区,很高兴宣布 Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.1.0.RELEASE
和 1.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 种最常见的缓存设计模式
旁路缓存 (Look-Aside Caching),以及指南和示例代码,以帮助您应用此模式。
内联缓存 (Inline Caching),结合了Spring Data Repositories 的强大功能,同样配备了指南和示例代码,以帮助您应用此模式。
近缓存 (Near Caching),以及指南和示例代码,以帮助您应用此模式。
此外,我们还涵盖了缓存最常见的用例之一:HTTP Session 状态缓存,同样包含指南和示例代码。
毋庸置疑,在云环境下微服务的普及,使得缓存成为云原生开发中最常见和重要的模式之一。
缓存不再仅仅是访问关系型数据库时提升性能所需。当微服务成为您的应用程序访问信息的新数据源时,缓存将变得越来越普遍和关键。
这是因为网络本身容易发生故障,并且在发生任何网络跳转时都会产生显著的延迟惩罚。这对于在高负载下的应用程序来说可能是致命的,会导致各种级联故障(例如内存问题)。目标是尽可能减少不必要的网络调用,尤其是在读操作远多于写操作的情况下,这很容易做到。
缓存 (HTTP) Session 状态将继续是最常见的缓存形式。幸运的是,Spring Session 的强大功能,特别是Spring Session for Apache Geode & Pivotal GemFire,管理您的 Spring Boot 应用程序的 Session 状态(适用于所有类型的 Session,包括 HTTP、WebSockets 和 WebSessions (Reactive))非常简单。此外,Spring Session 支持各种后端存储(JDBC、Redis、MongoDB、Hazelcast,当然还有 GemFire/Geode),这使得在需求变化时切换提供商变得极其简单。
借助 SBDG 1.1
,您现在可以将您的 Spring Boot 应用程序部署到 Pivotal CloudFoundry (PCF),同时仍能将这些应用程序连接到外部数据源。
当数据必须受到保护并保留在本地时,混合云部署是一种常见的安排。对于试图迁移到云并现代化其技术栈的公司来说,这也是一个非常常见的中间步骤。混合部署使公司能够采取渐进的方式采用云,而不是孤注一掷的方式。
因此,SBDG 包含一流的支持,可以在 PCF 中运行您的 Spring Boot 应用程序,同时将这些应用程序连接到外部管理的独立 Apache Geode 或 Pivotal GemFire 集群。
另外,除了混合云部署之外,SBDG 还支持
SBDG 1.1
(甚至在 1.1 之前)一直专注于开发者生产力:帮助用户尽可能轻松、快速和可靠地启动并运行!
该策略的一部分旨在帮助用户和客户
从开源 (Apache Geode) 切换到商业 (Pivotal Cloud Cache)
从非托管(独立、外部)环境迁移到托管环境 (Pivotal Cloud Foundry)
只需很少甚至无需代码或配置更改;它应该能直接工作!
事实上,您可以在两个方向上进行切换同样重要。从托管环境切换回独立环境,以及从商业产品切换回开源产品。再次强调,它应该能直接工作!
这就是切换的全部意义… "选择",特别是 "您的" 选择。
除了上述更改之外,SBDG 1.1
中还有其他一些更改。请参阅变更日志了解完整详情。
目前的重点将全部转移到 SBDG 1.2
。我们将继续投入以下几个领域。
这在技术上意味着什么?
我们计划引入一个新的注解 @EnableClusterAware
,当它与您的 @SpringBootApplication
类一起声明时,将使您能够从本地开发环境(例如您的 IDE)切换到客户端/服务器环境,而无需担心连接详情和集群配置。SBDG 会替您解决这些问题!这将使得在不同环境(例如开发和测试/预发布)之间的"切换"更加容易,尤其是在调试和测试代码时需要快速迭代的情况下。
此外,我们还将使在 PCF 环境下的开发者能够在运行应用程序时,为其部署的 Spring Boot 应用程序分配具有特定角色的用户。这对于某些用例非常重要,例如应用程序必须以只读模式运行,即应用程序只能读取数据,不能修改数据。
为了补充旁路缓存 (Look-Aside)、内联缓存 (Inline) 和近缓存 (Near) 模式,我们将提供另一份指南和示例代码,展示多站点 WAN 拓扑应用于缓存的强大功能,以及这如何帮助进一步提高应用程序架构的可用性和弹性(例如,考虑主动-主动 (Active-Active)、主动-被动 (Active-Passive)、可用区 (Availability Zones) 等)。
SBDG 1.2
版本正在集成到 start.spring.io。在不久的将来,当您开发 Spring Boot 应用程序时,将可以选择 Apache Geode 选项,这将方便地为您提供 spring-geode-starter
依赖项。
还有更多精彩内容即将推出。
一如既往,非常感谢并欢迎您持续提供反馈。正是您的贡献使 SBDG 成为一个有价值的项目。谢谢您。
问题 | 拉取请求 | StackOverflow
附注:请不要错过今年 10 月 7 日至 10 日在德克萨斯州奥斯汀举行的 SpringOne Platform 2019 大会上向顶尖专家学习的机会。期待在那里见到大家!