逐步分离服务(根据需要)
•应用敏捷开发:哪些最简单的事情是可能有用的?
•从单体或双层结构开始
§使其成为模块化,并计划模块可以成为微服务
§每个模块应该是一个垂直切片,一个带有自己数据的小应用程序
•从最小的可行的产品开始(MVP)
§MVP是一个模块
§对现有功能的改进放在同一个模块中
§在新模块中实施新的功能任务
§当一个模块实现多个任务时,重构为单独的模块
•根据需要将模块分成微服务
§多个团队希望独立工作
§单片代码库变得难以维护
§模块需要独立部署,扩展或失败
重构现有的应用程序
•重构的地方
§每个REST服务都可能是微服务
每个SOAP Web服务或EJB都可能是一个微服务
- 尤其是无状态会话bean
- 重新设计面向资产界面的功能导向界面
- 使接口RESTful,如使用命令对象
§使用领域驱动设计来发现您的资产,这可能是微服务
•重构微服务代码的数据
§每个微服务管理自己的数据
§一组仅供一个模块使用的表格
§只在特定时间使用的一组表格,例如每日状态摘要
§重构表格,以便每个表格仅由一个模块使用
优化查询时间,而不是存储效率
重新包装现有的应用程序
•分割您的EAR文件
§划分