微服务的软件架构模式
一、巨石(monolith)
优点:
1、IDE都是为开发单个应用而设计的:
容易测试——在本地就可以启动完整的系统
容易部署——直接打包为一个完整的包,拷贝到web容器的某个目录下即可运行
缺点:
1、对于大规模的复杂应用,巨石型应用的优势变为劣势,显得特别笨重:要修改一个地方就要将整个应用全部部署(PS:在不同的场景下优势也变成了劣势),编译时间过长,回归测试周期过长,开发效率降低等。
2、技术不兼容,在变得越来越大的同时,我们的应用所使用的技术也会变得越来越多。这些技术有些是不兼容的,就比如在一个项目中大范围地混合使用C++和Java几乎是不可能的事情。在这种情况下,我们就需要抛弃对某些不兼容技术的使用,而选择一种不是那么适合的技术来实现特定的功能。
3、按照Monolith组织的代码将只产生一个包含了所有功能的WAR包,因此在对服务的容量进行扩展的时候,我们只能选择重复地部署这些WAR包来扩展服务能力,而不是仅仅扩展出现系统瓶颈的组成部分。
二、应用拆分
浙公网安备 33010602011771号