《表1 单体架构与微服务架构的区别》
在软件设计中经典的3层模型为表示层、业务逻辑层和数据访问层。一个典型的单体架构就是将业务场景的表示层、逻辑层和访问层放在一个工程中,将整个软件系统的功能模块作为整体看待,统一设计和开发,最终通过编译、打包,部署运行在一个服务器上。SOA体系结构[8]及Web服务等相关标准和技术的产生,虽然实现了企业间服务资源的共享和复用,但是在开发模式上,仍然采用的是单体架构。随着业务复杂度和功能需求量的提升,单体架构存在的,代码庞大、耦合度高,部署时间长、成本较高,难以实现持续发布,难以实现技术协同,难以被扩展,可伸缩性较差的问题,已经不再适合大型企业的应用开发。微服务架构则根据应用系统的业务需求,通过对预定义的微服务进行重组而形成企业级应用的分布式体系结构。它主要将传统概念上的单体应用在功能、数据等方面进行分解,划分为多个具有明确边界并可被自由重组的小规模子服务。这些子服务间采用轻量级通信方式实现交互、协作,每个服务都有自己的数据库并可在独立进程中被部署、运行等,服务之间保持技术异构性,可由不同的团队选择合适的工具、语言进行开发。单体架构与微服务架构的区别如表1所示:
图表编号 | XD00205113200 严禁用于非法目的 |
---|---|
绘制时间 | 2020.12.01 |
作者 | 郝江波、唐卫、王慕华、丰德恩、赵瑞、袁亚男 |
绘制单位 | 中国气象局公共气象服务中心、中国气象局公共气象服务中心、中国气象局公共气象服务中心、中国气象局公共气象服务中心、中国气象局公共气象服务中心、中国气象局公共气象服务中心 |
更多格式 | 高清、无水印(增值服务) |