重构微服务

本文介绍了如何重构现有应用程序以实现微服务架构。主要内容包括将REST服务和无状态会话bean拆分为微服务,采用领域驱动设计识别业务资产,每个微服务管理自己的数据,独立部署和管理WAR文件,重构数据以适应微服务,以及将主数据管理和Blob存储优化。同时强调了配置应作为DevOps流程的一部分,实现基础设施即代码和自动化部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

重构现有的应用程序

•重构的地方

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

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

- 尤其是无状态会话bean

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

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

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

•重构微服务代码的数据

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

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

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

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

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


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

§分别缩放并独立管理




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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值