1.Monolithic单体式架构解析
Monolithic单体式架构指的是尽管是模块化逻辑,但是最终还是会打包并且部署为一个单一应用,具体的格式依赖于具体的语言和框架,例如,部分java应用会被大包围WAR格式,部署在Tomcat上或者JIT上,而另外一些java应用会被打包为自包含的jar格式,同样,Reals和node.js会被打包为层级目录。
2. Monolithic单体式架构的优缺点
优点:开发工具IDE和其他工具都擅长开发一个简单应用,这类应用也很易于调试和部署。只需要把打包应用拷贝到服务器端,通过在负载均衡器后端运行多个拷贝,就可以轻松是实现多个扩展
缺点:单体式架构一旦随着时间的推移,逐渐的变大,敏捷开发和部署举步维艰。任何单个开发者都很难搞懂它。修正bug和正确的添加新功能变得非常困难且很耗时。
3. Monolithic单体式架构面临的挑战
随着市场变化快用户需求变化快、用户访问量增加的同时,单块架构应用的维护成本、人员的培养成本、缺陷修复成本、技术架构演进的成本、系统扩展成本等都在增加。单块架构的曾经的优势已逐渐不在适应互联网时代的快速变化。
4.微服务架构模式倡导的做法
Microservice微服务架构是一种架构模式,提倡将Monolithic单体式架构应用划分为一系列小的服务,服务之间相互协调,相互配合,为用户提供服务。每个服务运行于其独立的进程中,服务之间采用轻量级的协议进行通信,每个服务都围绕着具体业务进行构建,并能够独立部署。
微服务架构的优点:每个服务能够内聚,代码容易理解,开发效率高,服务之间可以独立部署,使得持续部署成为可能,容易正对每个服务组件开发团队,容错性也大大提高。
5.向微服务架构演进的推荐顺序
先规划,然后是中间件和数据库,最后是服务和应用