基于微服务或单片

朱利安

我读了很多有关微服务及其结构的文章,看来在可维护性方面有很多优点。

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

因此,我正在考虑将其构建为微服务,以便可以添加其他服务而无需重建整个应用程序。因为将来我可能要添加其他服务。

但是,为如此小的移动应用程序构建基于微服务的应用程序真的值得吗?

汤姆·雷德芬

Fowler有一篇很好的文章,他提出许多以基于微服务的设计开始的项目很快就会遇到问题。相反,许多成功的基于微服务的应用程序都是从整体开始的。

总结一下这个原理:

...即使您确定自己的应用程序足够大,也值得使用微服务,否则不应使用微服务开始新项目。

尽管Fowler对此没有发表个人看法,但他确实在猜测Monlith-First的好处

...采用整体优先的策略,即使您认为以后很可能会从微服务架构中受益,也应该首先将新应用程序构建为整体,...可能很难扩展设计不良但成功的软件系统,但是与逆向软件相比,这仍然是一个更好的地方...您需要优先考虑速度...

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

令我震惊的主要好处是,与您试图预先定义这些界限(在Windows操作系统中是必要且非常重要的设计步骤)相比,您将更加清楚地了解所支持的业务功能之间的界限自然位于应用程序之内。基于微服务的设计)。

他进一步介绍了如何有效规划Monolith-first设计,该方法主要涉及保持代码美观和模块化,并着眼于将来根据需要突破模块。

...仔细设计一个整体,在API边界以及如何存储数据的同时注意软件内的模块化。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章