本文已归档
归档日期:: 2019-08-06
此内容不再被更新或维护。 内容是按“原样”提供。鉴于技术的快速发展,某些内容,步骤或插图可能已经改变。摘要
将应用分解为一组微服务的云原生应用开发方式广受好评,被誉为软件开发方法的最佳实践。像 Kubernetes 这样支持云原生计算的软件堆栈因而也日益普及起来。 比起谈论相关准备工作,试着构建一个所谓的云原生应用显然要有趣得多。为此,我们尝试了下面的做法:我们将采用一个更为贴合现实的用例场景 – 数字银行。受 Monzo 启发,我们建立了一个名为“Innovate”的演示银行。 注意:这是一个演示网站,不会收集任何 PII。
概览
此 Code Pattern 旨在描述如何将假设的实际应用程序分解为一组微服务,其中核心功能被委派给适当的微服务,并且 Web 应用门户尽可能保持轻量级。 理想情况下,该 Code Pattern 旨在描绘正在使用的一些 12 要素应用特征,并在适当情况下证明所用微服务的合理性。在这种情况下,微服务可独立部署并可独立扩展。
完成本次学习后,您将掌握如何:
- 将应用程序分解为一组微服务。
- 创建和管理 Kubernetes 集群 on IBM Cloud。
- 部署至 IBM Cloud 上的 Kubernetes 集群。
- 部署至 IBM Cloud Private。
流程
- 门户 (Portal):加载 UI 并维护用户会话。依赖所有其他微服务来实现核心功能。
- 身份认证 (Authentication):处理用户配置文件的创建以及登录和注销操作。
- 账户 (Accounts):处理用户银行账户的创建、管理和检索操作。
- 交易 (Transactions):处理针对用户银行账户所发起交易的创建和检索操作。
- 账单 (Bills):处理账单的创建、支付和检索操作。
- 支持 (Support):处理与 Watson Conversation 的通信,实现支持聊天功能。
操作说明
准备好利用本 Code Pattern 了吗?有关如何开始运行和使用此应用程序的完整细节,请参阅 README.md。
本文翻译自:Create a microservices-based digital banking web-application(2018-10-19)