在 Kubernetes 上部署 Spring Boot 微服务  

在 Kubernetes 集群上构建和部署 Java Spring Boot 微服务

| By Anthony Amanse, John Zaccone, Animesh Singh

Description

Spring Boot 是一个用于快速构建 Spring 应用程序的自定义框架。 本 Code Pattern 将向您介绍如何在多语言应用程序中创建和部署Spring Boot 微服务,然后将该应用程序部署到 Kubernetes 群集。

概览

Java 社区正在寻找创新的方式以在微服务架构内使用 Java EE 之类的技术。Spring 框架已经 Java 生态系统中的确立了地位,现在 Spring Boot 正引起大量关注,因为它彻底简化了 Spring 应用程序的编写过程。

Spring Boot 在构建 Spring 应用程序方面有着独特的方法。您可以使用 Spring Boot 来创建独立 Java 应用程序,此类应用程序可使用 Java -jar 命令或者更传统的 WAR 部署来启动。Spring 应用程序可作为现有应用程序服务器之上的 WAR 文件进行部署,也可以将其构建到带有嵌入式应用程序服务器的“胖”JAR 文件中。以上任一选择在 Docker 容器内都有效。随后,您可以依靠本机 Spring 平台(如 Spring Cloud)来执行服务发现、注册和负载均衡等任务。

但在多语言应用程序环境中,我们该怎么做?要管理多语言微服务系统,您需要一个通用的微服务和容器编排平台,而 Kubernetes 在这方面出类拔萃。在此开发者之旅中,您将构建一个名为“Office Space”的应用程序,它的灵感来自于电影上班一条虫 (Office Space) 中 Michael Bolton 的构想。完成这一旅程之后,您将了解如何在 Kubernetes 集群上部署多语言微服务应用程序,包括 Spring Boot 微服务。

  1. 以 Python 编写的交易生成器服务将模拟交易,并将其推送至计算利息微服务。
  2. 计算利息微服务会计算利息,然后将所得币值的分币移至 MySQL 数据库中进行存储。此数据库可在相同部署中的容器内运行,也可在公共云(例如,IBM Cloud)上运行。
  3. 随后,在金额已存入用户账户的情况下,计算利息微服务会调用通知服务来通知该用户。
  4. 通知服务使用 OpenWhisk 操作向用户发送电子邮件。您也可以调用 OpenWhisk 函数向 Slack 发送消息。
  5. 此外,还可调用 OpenWhisk 函数向 Slack 发送消息。
  6. 用户可通过访问 Node.js Web 界面来获取账户余额。

相关博客

相关链接

致谢:

感谢邢舟对此 Code Pattern 的翻译内容的审核,并提供了宝贵的反馈意见。

Spring Boot 基础

本文介绍了如何使用 Spring Boot 的 starter、特性和可执行 JAR 文件结构,快速创建能直接运行的基于 Spring 的应用程序。