首页 > 代码库 > 微服务架构模式-Monolithic Architecture

微服务架构模式-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