单体架构
学习微服务之前,我们一直知道为什么我们不使用单片架构时下。这样有助于我们更清楚地理解微服务。
单体架构就像一个大容器,其中一个应用程序的所有软件组件都组装在一起并紧密耦合,即每个组件完全相互依赖。
例子:
让我们举一个电子商务网站的例子——
正如您在示例中看到的,应用程序提供的所有服务(客户服务、成本服务、产品服务)都是直接连接的。因此,如果我们想更改代码或其他内容,我们也必须更改所有服务。
坏处:
- 大型复杂应用:
对于单体的大型复杂应用,由于相互依赖,难以维护。 - 缓慢发展:
这是因为,要修改应用程序,我们必须重新部署整个应用程序而不是更新部分。需要更多的时间或缓慢的开发。 - 不可扩展:
应用程序的每个副本都将访问导致更多内存消耗的空洞数据。我们无法独立扩展每个组件。 - 不可靠:
如果一项服务出现故障,则会影响应用程序提供的所有服务。这是因为应用程序的所有服务都是相互连接的。 - 不灵活:
真的很难采用新技术,因为我们要改变孔应用技术。