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

Spring Boot是流行的JAVA微服务框架之一 。Spring Cloud具有丰富的集成良好的Java库,可以解决作为Java应用程序堆栈一部分的运行时问题,而Kubernetes提供了丰富的功能集来运行多语言微服务 。这些技术相互补充,为Spring Boot应用程序提供了一个很好的平台 。
在此代码中,我们演示了如何在Kubernetes之上部署简单的Spring Boot应用程序 。这个应用程序,office Space,模仿电影Office Space中 Michael Bolton的虚构应用创意 。该应用程序利用财务计划,通过将通常四舍五入的一小部分转移到单独的银行账户来计算交易利息 。
该应用程序使用Java 8 / Spring Boot微服务来计算兴趣,然后将便士的一小部分带到数据库 。另一个Spring Boot微服务是通知服务 。当帐户余额超过50,000美元时,它会发送电子邮件 。它由计算兴趣的Spring Boot网络服务器触发 。前端使用Node.js应用程序,该应用程序显示Spring Boot应用程序累积的当前帐户余额 。后端使用MySQL数据库来存储帐户余额 。

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

文章插图
 
  1. 用Python编写的Transaction Generator服务模拟事务并将它们推送到Compute Interest微服务 。
  2. 计算兴趣微服务计算兴趣,然后将便士的分数移动到要存储的MySQL数据库 。数据库可以在同一部署中的容器内运行,也可以在IBM Cloud等公共云上运行 。
  3. 计算兴趣微服务然后调用通知服务以通知用户是否已将金额存入用户的帐户 。
  4. Notification服务使用IBM Cloud Function向用户发送电子邮件 。
  5. 此外,还可以调用用于向Slack发送消息的IBM Cloud Function 。
  6. 用户通过访问Node.js Web界面来检索帐户余额 。
包含的组件
  • IBM Cloud Kubernetes服务:IBM Bluemix Container Service管理IBM Cloud上的Docker容器和Kubernetes集群中的高可用性应用程序 。
  • 撰写MySQL:可能是世界上最流行的开源关系数据库 。
  • IBM Cloud Functions:在高度可扩展的无服务器环境中按需执行代码 。
特色技术
  • Container Orchestration:自动化容器化应用程序的部署,扩展和管理 。
  • 数据库:用于存储和管理数据集合的存储库 。
  • 无服务器:一种事件操作平台,允许您执行代码以响应事件 。
条件