微服务架构模式-Monolithic Architecture

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构模式-Monolithic Architecture相关的知识,希望对你有一定的参考价值。

1,单体架构(传统结构,在学习为服务架构之前我们先了解一下传统架构: 你想要开发一款Server-Side Enterprise APP, 他可以支持多种类型的客户端,例如浏览器,android App,ios等,并且可以为第三方系统提供webservice接口或者Message Broker 服务。本系统可以接收webRequest,执行业务逻辑,访问DB以及和其他系统交互,采用html/XML/JSON 传输数据。该System的不同模块或者组件对应不同的业务逻辑需求。

2,该架构的部署结构图

 技术分享

3,优点:

易于开发,易于测试,易于部署,易于多实例部署(负载均衡器后可以部署多个tomcat)

4,缺点:

随着系统规模的增长,应用程序代码规模越来越大,也越来越难理解和修改,由此又造成代码质量的不断下降,进入一个恶想循环。

 随着代码量的增长 IDE会出现overloaded情况,开发效率降低

容器(tomcat)也会出现overloaded情况

后续的部署会变得更加困难,为了更新一个组件需要重新部署整个系统,并且是在所有tomcat上部署。

因为所有的容器访问同样的DB,随着用户数量的增长IO将变成性能瓶颈

技术不能更新,一旦选用了某个技术栈,在后续的开发中要想使用新的技术几乎是不可能的。

以上是关于微服务架构模式-Monolithic Architecture的主要内容,如果未能解决你的问题,请参考以下文章

转载微服务架构下的软件测试实践

「转」论微服务架构

微服务架构及幂等性

不胖不“威”的微服务架构

微服务架构设计基础之领域驱动设计

Java高级架构:微服务架构的核心概念