gpt4 book ai didi

cordova - 基于微服务或单体

转载 作者:行者123 更新时间:2023-12-04 08:28:33 25 4
gpt4 key购买 nike

我读了很多关于微服务及其结构的文章,似乎在可维护性方面有很多优势。

我想用 Spring Boot 和 Phonegap 构建一个移动应用程序,它从 RESTful Web 服务中提取新闻。

所以我正在考虑将它构建为一个微服务,这样我就可以在不重建整个应用程序的情况下添加其他服务。因为将来我可能想添加其他服务。

但是为这么小的移动应用程序构建一个基于微服务的应用程序真的值得吗?

最佳答案

有一个不错的article by Fowler ,他在其中提出许多以基于微服务的设计开始的项目很快就会遇到问题。相反,许多成功的基于微服务的应用程序都是从单体应用开始的。

总结一下这个原则:

...you shouldn't start a new project with microservices, even if you're sure your application will be big enough to make it worthwhile.



虽然 Fowler 没有对此发表个人意见,但他确实推测了他所谓的 Monlith-First 的好处。

...a monolith-first strategy, where you should build a new application as a monolith initially, even if you think it's likely that it will benefit from a microservices architecture later on...It may be hard to scale a poorly designed but successful software system, but that's still a better place to be than its inverse...you need to prioritize speed...



因此,Monlith-First 方法的好处是您可以快速构建一个整体,因为通常需求是众所周知的并且相对较少。此外,您可以快速将产品推向市场,从而了解您的应用程序及其在现实世界中的行为方式。

让我印象深刻的主要好处是,您将更清楚地了解您所支持的业务功能之间的边界自然落在您的应用程序中的位置,而不是您尝试预先定义这些边界(一个必要且非常重要的设计步骤)基于微服务的设计)。

他继续扩展如何有效地规划单体优先设计,这基本上包括保持代码美观和模块化,并着眼于 future 根据需要拆分模块。

...design a monolith carefully, paying attention to modularity within the software, both at the API boundaries and how the data is stored.



以我的经验,基于服务的方法非常适合与业务领域专家一起花费大量前期分析时间,以及一个成熟的交付团队,他们通常能够轻松地使用 soa 和基于服务的工作。

关于cordova - 基于微服务或单体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35913253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com