首页 > 解决方案 > 单体+微服务

问题描述

现在我需要确切地知道如何在需要时立即部署基于微服务的后端?我可以自己管理所有技术的集成,但是在 AWS 上托管时,我不可能获得这么多实例,而且现在也买不起。

我正在考虑从单一后端开始的想法,同时有可能在业务启动时立即部署微服务后端。

但如果可能的话,我不确定如何实现这个想法。

有可能还是我错了?

请帮忙,谢谢。

标签: microservicesbackend

解决方案


如果计划使用 Aws EBS,这是常见问题,我遇到了同样的问题并使用以下方法解决了

1)将设计视为单体,然后进一步决定有界上下文,每个有界上下文将是一个微服务。

2)现在设计您的数据库并尝试将每个微服务数据库保留为单独的模式。

3)现在在 Maven 模块中创建父子模块。

4)在父母模块中保留您的spring boot main方法,招摇和安全等常见模块

5)在子模块中禁用弹簧启动特性。

6)将所有子模块微服务添加到父模块和maven build install中。

7) 部署在 AWS EBS 上。

8 ) 使用 Aws Api getway 公开所有微服务。

好处:将来只要您能够支持基础架构成本,只需移动模块和数据库模式,无需其他更改。

不同意“错误地认为部署单体比微服务便宜”的说法,请检查 Aws 成本估算,单体比微服务便宜,微服务需要多方持久性和独立托管。


推荐阅读