利用无服务器架构扩展单体应用的技术与策略
在当今的软件开发领域,单体应用向微服务架构的演变是一个常见的需求。无服务器架构为扩展现有单体应用提供了有效的途径,本文将介绍三种利用无服务器架构构建单体应用扩展的技术,以及如何安全地分解单体应用的策略。
1. 可扩展的单体应用场景
在开始构建扩展之前,先了解几个可扩展的场景:
1. 为登录用户提供购买商品的手册和文档。
2. 用户进行组合购买时自动添加优惠券和交易。
3. 优化多个订单的运输。
4. 添加客户保留计划,重新吸引一段时间未下单的用户。
2. 微服务扩展点
构建现有单体软件栈的无服务器扩展的最简单方法是将新功能视为外部服务,单体应用通过网络调用接口来调用该服务以实现预期结果。这样可以将单体应用的混乱和纠缠隔离开来。
- 避免直接链接库 :如果现有功能已经封装在一个库中,不要直接将其链接到单体应用和新的无服务器微服务中。因为库可能依赖于单体应用的 ORM 层和底层数据库,这会导致无服务器应用与单体数据库的架构变化耦合。
- 使用内部 API :可以遵循标准的微服务模式,通过内部 API 暴露单体应用的数据,无服务器应用可以根据需要调用这些 API。许多单体应用已经为外部或内部集成暴露了一些 API,可能需要扩展这些 API 以提供更多信息、优化查询模式或暴露更多集合。
- 数据获取的替代方案 :为了避免从单体应用到微服务再到单体应用数据 API 的往返调用,可以让单体应用在请求中提前获
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



