将单体 Web 应用程序转换为微服务版本
在了解了微服务的可能性后,你可能希望对现有的单体 Web 应用程序进行重构,以更好地满足用户和利益相关者的需求。例如,某些报表应用程序,用户需要等待数分钟才能生成 PDF 报告;或者信用检查应用程序,需要查询外部 API 获取信用数据,导致用户在继续操作前需要等待很长时间。这类应用程序非常适合进行重构。实际上,这里的重构更多是一种转换,即尽可能复用现有的代码。
1. 转换方法介绍
转换方法的步骤与标准开发方法的步骤非常相似,因为两者都涉及应用程序开发。因此,与标准开发方法一样,我们从确定需求开始,以部署应用程序结束:
1. 确定需求
2. 分解单体应用
3. 设计微服务
4. 选择技术
5. 创建数据基础
6. 开发微服务
7. 测试和部署
实际上,分解和开发步骤是与标准开发方法有显著差异的步骤。分解步骤是因为我们处理的是现有应用程序;而开发步骤则是因为我们要尽可能复用现有代码。
这个逐步的过程可能会让人联想到瀑布式开发方法,即按顺序依次执行每个步骤。如果这种方式适合你的情况,那没问题,但也不一定非要这样,我们也可以按照 Scrum 敏捷开发方法的迭代方式或其他敏捷方法来执行这些步骤。
下面是转换步骤的 mermaid 流程图:
graph LR
A[确定需求] --> B[分解单体应用]
B --> C[设计微服务]
C --> D[选择技术]
D --> E[创建数据基础]
E -