microservices - 单体+微服务
问题描述
现在我需要确切地知道如何在需要时立即部署基于微服务的后端?我可以自己管理所有技术的集成,但是在 AWS 上托管时,我不可能获得这么多实例,而且现在也买不起。
我正在考虑从单一后端开始的想法,同时有可能在业务启动时立即部署微服务后端。
但如果可能的话,我不确定如何实现这个想法。
有可能还是我错了?
请帮忙,谢谢。
解决方案
如果计划使用 Aws EBS,这是常见问题,我遇到了同样的问题并使用以下方法解决了
1)将设计视为单体,然后进一步决定有界上下文,每个有界上下文将是一个微服务。
2)现在设计您的数据库并尝试将每个微服务数据库保留为单独的模式。
3)现在在 Maven 模块中创建父子模块。
4)在父母模块中保留您的spring boot main方法,招摇和安全等常见模块
5)在子模块中禁用弹簧启动特性。
6)将所有子模块微服务添加到父模块和maven build install中。
7) 部署在 AWS EBS 上。
8 ) 使用 Aws Api getway 公开所有微服务。
好处:将来只要您能够支持基础架构成本,只需移动模块和数据库模式,无需其他更改。
不同意“错误地认为部署单体比微服务便宜”的说法,请检查 Aws 成本估算,单体比微服务便宜,微服务需要多方持久性和独立托管。
推荐阅读
- angular - 如果它在角度中具有空值,则绕过
- ios - Obj-C-检测textView换行符?
- php - 如何从不同的数据库表中选择行而不以任何方式连接它们并在循环中显示结果
- javascript - 如何在提示之前进行样式更改
- spring - Spring存储过程的通用包装器
- terraform - 调用特定的 for_each 输出
- c++ - 尝试从另一个文件运行时出现 g++ 错误
- ruby - 如何从文本文件中读取并使用文本行创建类的实例以将它们放入数组中?
- jooq - 在 JOOQ 中,我应该何时使用 Configuration.dsl() 与 DSL.using(Configuration)?
- css - 为单个下拉菜单修复子菜单