移动或不移动到微服务

问题描述:

您能否让我知道或分享一些链接来决定是否将我的应用程序移动到微服务架构?移动或不移动到微服务

场景:我有一个应用程序是面向互联网但具有有限的用户数量,即不会突然传入流量。而 此应用程序不存储任何关键应用程序 数据依赖于其他应用程序,并通过其余应用程序的数据通过其他服务或直接数据库调用消耗其他应用程序的 数据。此外,为了降低成本,我们希望将此应用程序迁移到AWS。

你可以让我知道是否要移动它的微服务吗?

如果我们应该决定转向微服务,那么策略应该是什么?

+1

关于转向微服务还有很多要说的,但无论如何你应该知道微服务与庞然大物的优缺点。请阅读https://www.oreilly.com/ideas/modules-vs-microservices或https://www.nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf或http:// cloudacademy。 COM /博客/微服务架构的挑战,优势,缺点/ –

你可以让我知道是否要移动它的微服务吗?

很难说对你的应用程序和你的组织很少了解。如果您回答以下问题,我们可以给出更好的答案:

  • 您的代码库有多大?

  • 今天有多少人在工作呢?

  • 未来会有多少人参与其中?

  • 系统有多少用户?

  • 由于开发/构建/部署组件的依赖性,是否有很多开发时间丢失?
  • 应用程序的可伸缩性和高可用性有多重要?

但是,从您的描述来看,这听起来不像是一笔很好的投资。一般来说,微服务架构将帮助大型应用程序变得更易维护和可扩展。如果你的应用程序不是很大,或者没有扩展或维护的问题,那么我就不会投资。但是,如果您希望将来扩展应用程序,我会建议将这些新服务作为微服务来开发,并逐渐远离庞然大物。

如果我们应该决定转向微服务,那么策略应该是什么?

我们无法在一个计算器问题中回答这个问题。这需要深入分析您的应用程序和可以区分的不同服务(出于商业目的)。对于每项服务,您必须确定如何减少与其他部分的耦合,并为这些交互定义API,甚至通过分离服务的数据基础来破坏关系。您还将查看实施技术,并根据具体情况决定哪一种最适合每种服务。您还将查看底层基础架构并决定可自动执行的选项(例如kubernetes)。请参阅this