深入理解微服务架构:原理、特性与优势
1. 微服务架构的结构变化
在新的架构表示中,没有引入新的模块,而是保留了单体架构中已有的模块,但对软件模块的结构和技术基础设施进行了显著改变。
1.1 无层级、分布式架构
传统的三层或 n 层分布式架构中,应用内有多个层级,如客户端层、表示层、业务层等,这些层级可部署到不同的分布式进程空间。而微服务架构则倾向于将这些层级整合在一起,但这并非硬性规则,也可将传统架构的层级原则应用到微服务架构中。将微服务的不同层级紧密结合,例如在单个进程内,可带来诸多优化,如提高响应时间、实现可靠通信等。
1.2 微单体特性
微服务可视为微单体,它遵循分层和分 tier 的实践构建,边界清晰,能独立运行,无需外部依赖。这体现在物理工件(如二进制文件、库和脚本)以及运行时所需的依赖(如容器服务或持久化服务)上。微服务的物理捆绑工件在部署到运行时进程时,需在提供功能方面展现完全的自主性。
这种组织方式为平台和技术选择带来优势,各微服务的平台、技术、工具或框架决策不会相互制约,为团队提供了技术和架构选择的自由。但同时,微服务也需自行管理健康运行所需的所有资源,包括数据和数据库。通常为每个微服务分配独立的数据库,或在共享数据库中为其分配独立的模式,并避免跨模式操作。微服务所需的表示服务也通常包含在其捆绑包内。
1.3 各层级关注点
在各层级中,业务层负责核心数据处理工作,也是扩展性问题常出现的层级。借助现代技术(如单页应用 Web 框架和缓存框架),扩展其他层级相对容易。因此,讨论微服务时主要关注业务层,但必要时也会涉及其他层级以呈现完整图景。
超级会员免费看
订阅专栏 解锁全文

122

被折叠的 条评论
为什么被折叠?



