Lattice 和 Spring Cloud:云原生 Spring 应用程序的弹性子结构

工程 | Matt Stine | 2015年4月6日 | ...

我们认为,云原生应用程序架构 的开发是企业应用程序开发的下一个重大进化阶段。这些架构结合了诸如十二要素应用程序微服务自助敏捷基础设施基于 API 的协作反脆弱性等元素。所有这些元素使我们能够在持续为客户提供业务价值时,同时快速安全地前进。

Spring 团队的目标一直是赢得与 Java 复杂性作斗争的战争,现在我们正与 Cloud Foundry 团队的同事合作,消除云原生应用程序开发和运营的复杂性。

我们从Spring Cloud开始这项工作,这是一个伞形项目,它将您在Spring Boot中依赖的相同简单性和生产力带入了云原生应用程序架构的组合。可以通过应用许多特征明确的样板模式来实现分布式系统的协调。使用 Spring Cloud,开发人员可以快速启动实现这些模式的服务和应用程序。许多这些模式是通过包装在NetflixOSS中找到的经过实战检验的组件提供的。

您可以在任何地方开发和运行 Spring Cloud 应用程序,包括您的笔记本电脑、裸机数据中心基础设施或 AWS 或 Google Cloud 等云基础设施。但是,为了获得最大效力,云原生应用程序需要一个云原生应用程序平台。我们认为 Cloud Foundry 是一个平台,它与 Spring Cloud 结合使用,提供了构建和运行云原生应用程序所需的最佳必要子结构。

历史上,在笔记本电脑上运行 Cloud Foundry 颇具挑战性。这就是为什么我们很高兴地告诉您有关Lattice的信息。Lattice 是一个云原生应用程序平台,它使您能够使用 Docker 等解决方案在容器中运行应用程序。Lattice 包括以下功能:

  • 集群调度
  • HTTP 负载均衡
  • 日志聚合
  • 健康管理

Lattice 通过打包 Cloud Foundry 弹性运行时中发现的组件子集来实现此目的。结果是一个开放的、单租户的环境,适合于快速应用程序开发。使用 Lattice 开发的应用程序应无更改地迁移到完整的 Cloud Foundry 部署。

为了帮助您开始使用 Lattice,我们发布了两个入门指南

  • 使用 Docker 的 Spring Boot:Lattice 目前支持运行打包为 Docker 镜像的应用程序,因此本指南可帮助您使用 Maven 或 Gradle 从 Spring Boot 应用程序构建 Docker 镜像。
  • Spring Cloud + Lattice:本指南将引导您完成设置 Lattice 以及随后将 Spring Boot 应用程序部署到其中的过程。您按照 Docker 指南打包的应用程序应该可以轻松地在 Lattice 上运行。

第二个指南重点介绍了 Spring Cloud 和 Lattice 之间的第一个直接集成,spring-cloud-lattice,它是 Spring Cloud 的 DiscoveryClient 的一个实现,由 Lattice 的API支持。此实现允许我们直接从 Lattice 执行服务发现,而无需任何其他依赖项。如果您已经开始通过 Spring Cloud 利用 Netflix Ribbon 或 Zuul,您现在将能够同时使用两者,而无需部署 Eureka 服务器!Spring Cloud Lattice 目前是 alpha 质量的预览版本。

此集成仅仅是您将从 Cloud Foundry 和 Spring 团队之间日益加深的合作中看到的众多集成中的第一个。例如,Spring XD 团队一直在努力构建一个服务提供商接口,允许 XD 将 Lattice 视为一个运行时层,将流模块部署为容器。

我们的目标是为企业 Java 开发人员提供理想的本地开发和云操作环境,以利用云原生应用程序的强大功能。我们期待在 2015 年 9 月的SpringOne 2GX上向您展示更多精彩内容。敬请期待!

获取 Spring 时事通讯

与 Spring 时事通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部