关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
5年前关闭。
Improve this question
我读了一些关于微服务的书,我有点感兴趣。似乎这是一个有趣的概念。但我想知道,使用微服务与单体架构相比有什么优点和缺点,反之亦然。
什么时候微服务更适合,哪里更适合单体架构。
最佳答案
虽然我对微服务世界比较陌生,但我会尽量完整地回答您的问题。
当您使用微服务架构时,您将增加关注点的解耦和分离。由于您正在拆分您的应用程序。
这导致您的 代码库将更易于管理 (每个应用程序都独立于其他应用程序以保持正常运行)。因此,如果你做对了 ,它将是 将来更容易添加新功能 到您的应用程序。而对于单体架构,如果您的应用程序很大(并且您可以假设在某个时间点会很大),这可能会变得非常困难。
还有部署应用程序更容易 ,因为您要单独构建独立的微服务并将它们部署在单独的服务器上。这意味着您可以随时构建和部署服务,而无需重新构建应用程序的其余部分。
由于不同的服务很小,而且是分开部署的,很明显更易于扩展 它们的优势在于您可以扩展应用程序的特定服务(使用单体,您可以扩展整个“事物”,即使它只是应用程序中负载过重的特定部分)。
但是,对于不打算在将来变得太大而无法管理的应用程序。最好将其保留在单体架构中。由于微服务架构涉及一些严重的困难。我说过部署微服务更容易,但这仅与大型单体相比才是正确的。使用微服务会增加将服务分发到不同位置的不同服务器的复杂性,您需要找到一种方法来管理所有这些。如果您的应用程序变大,从长远来看,构建微服务将对您有所帮助,但对于较小的应用程序,保持整体更容易。
关于微服务与单体架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33041733/