现在,我需要确切地知道如何在需要时立即部署基于微服务的后端?我可以自己管理所有技术集成,但是当涉及到在AWS上托管时,我几乎不可能获得这么多实例,并且现在无法负担。
我正在考虑从整体后端开始的想法,同时可以在业务开始时立即部署微服务后端。
但是我不确定如果可能的话如何实现这个想法。
有可能还是我错了?
请帮助,谢谢。
答案 0 :(得分:3)
如果打算使用Aws EBS,这是一个常见问题,我也遇到了同样的问题,并使用以下方法解决了该问题
1)认为设计是整体的,然后进一步决定有界上下文,每个有界上下文将是微服务。
2)现在,设计您的数据库,并尝试将每个微服务数据库保留在单独的架构中。
3)现在在maven模块中创建父子模块。
4)在父模块中,保留您的Spring Boot主要方法,摇动和安全性等常用模块
5)在子模块中禁用spring boot特性。
6)将所有子模块微服务添加到父模块并进行maven构建安装。
7)部署在AWS EBS上。
8)使用Aws Api getway公开所有微服务。
好处:将来只要您能够支持基础架构成本,只需移动模块和数据库架构,而无需其他更改。
不同意“错误地认为部署整体式系统要比微服务便宜”的说法,paw check Aws成本估算单价比微服务要便宜,微服务需要polygot持久性和独立托管。
答案 1 :(得分:2)
首先,人们错误地认为,单片部署比微服务便宜。基础架构。如果您确定要采用微服务方式;那么最好现在就构建它。
您可以构建多个微服务并在同一虚拟机上进行部署。 另外,如今,您拥有许多重量轻的技术(比弹簧靴更轻),具有更小的内存占用空间,更快的启动时间(如微型导航)。
此外,直到并且除非您正在以亚马逊的规模运行...否则,人们错误地认为整体式无法扩展。即使是整体式也可以处理相当数量的请求。
答案 2 :(得分:2)
我觉得从第一天开始构建微服务是当今最好的方法,没人知道您的哪些服务会变得病毒式传播。每个人都想连接到您的服务时,您无法承受停电。
答案 3 :(得分:0)
构建多个微服务并在同一服务器/ vps上运行非常有可能,并且当您的项目/服务通宵传播时,您始终可以轻松地为每个服务指定单独的实例/服务器。