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,我们发布了两个入门指南

  • Spring Boot 与 Docker:Lattice 当前支持运行打包为 Docker 镜像的应用程序,因此本指南可帮助您使用 Maven 或 Gradle 从 Spring Boot 应用程序构建 Docker 镜像。
  • Spring Cloud + Lattice:本指南将引导您完成 Lattice 的设置,然后将 Spring Boot 应用程序部署到 Lattice。按照 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 社区中所有即将举行的活动。

查看全部