重构微服务

逐步分离服务(根据需要)
•应用敏捷开发:哪些最简单的事情是可能有用的?
•从单体或双层结构开始
§使其成为模块化,并计划模块可以成为微服务
§每个模块应该是一个垂直切片,一个带有自己数据的小应用程序
•从最小的可行的产品开始(MVP)
§MVP是一个模块
§对现有功能的改进放在同一个模块中
§在新模块中实施新的功能任务
§当一个模块实现多个任务时,重构为单独的模块
•根据需要将模块分成微服务
§多个团队希望独立工作
§单片代码库变得难以维护
§模块需要独立部署,扩展或失败

重构现有的应用程序

•重构的地方

§每个REST服务都可能是微服务

每个SOAP Web服务或EJB都可能是一个微服务

- 尤其是无状态会话bean

- 重新设计面向资产界面的功能导向界面

- 使接口RESTful,如使用命令对象

§使用领域驱动设计来发现您的资产,这可能是微服务

•重构微服务代码的数据

§每个微服务管理自己的数据

§一组仅供一个模块使用的表格

§只在特定时间使用的一组表格,例如每日状态摘要

§重构表格,以便每个表格仅由一个模块使用

优化查询时间,而不是存储效率


重新包装现有的应用程序
•分割您的EAR文件
§划分功能线
§打包独立的WAR文件
§可能需要稍微更改代码
•分别部署每个WAR文件
§自己的Liberty for Java即时运行时
§它自己的Docker容器
•分别构建,部署和管理
§为每个管道使用独立的DevOps管道
WAR文件

§分别缩放并独立管理


重构微服务_第1张图片


重构微服务的数据
•主数据管理
§对广泛使用的数据实体形成一个统一的视图
§开发用于处理的微服务
•代码在您的SQL数据库中存储Blob
§将这些对象存储在No SQL数据库中
§键值存储,如Redis或数据缓存
•活动记录模式:与其他人无关的扁平物体
§与其他数据无关的数据岛

§使用文档模型数据库,例如Cloudant或Mongo

微服务的配置
使配置成为DevOps流程的一部分:
§将基础架构视为代码,软件定义的数据中心
§所有应用程序部署必须自动化
§从简单的脚本开始,从那里开始构建

你可能感兴趣的:(Micro,Service)