架构常用术语
发布网友
发布时间:2024-09-07 00:25
我来回答
共1个回答
热心网友
时间:2024-10-19 23:53
架构系列3-架构常用术语
组件化、模块化、服务化、平台化?集中式、分布式?SOA以及微服务架构?在软件开发领域,随着架构、技术的演进,出现了大量的术语。阅读引导:1、组件化、模块化、服务化、平台化;2、集中式、分布式;3、SOA以及微服务架构。
架构的术语定义及解释如下:
“化功大法”:以“化”结尾的词语,表示这个词语不仅涉及物理实现,还包括一系列的规范、治理,目的是为了控制复杂度。面向对象领域有SOLID原则,强调单一职责原则,将系统拆分为多个高内聚、低耦合的模块,沉淀为高复用、独立演化的组件。组件化的主要目的就是重用、减少耦合,使用关注点分离的手段,将系统拆分为多个独立组件,每个组件提供完整的功能,可以独立维护、升级而不影响其他组件。
模块化:将系统按照功能做切分,分成相互独立的、高内聚低耦合的模块,以便每个模块只包含与其相关功能的内容,模块之间通过接口调用。模块的粒度可大可小,可以是系统、子系统、服务、函数、类、方法、功能块等。
服务化:不仅仅指系统的一切能力都通过API交互,还包括API注册、协调等运行管理、生命周期管理,以及服务的通讯协议、报文协议等内容。是一种粗粒度、松耦合的以服务为中心的架构,包含API服务及标准、治理等一系列内容。
平台化:平台具有可支持多生态、完成所有工作、内部可能包含多个物理系统的特点。例如,Eclipse采用微内核+插件的架构,支持Java、Python等不同语言的工作台。淘宝也提供完整的电子商务服务。一个平台通常指的是提供全覆盖业务服务的、对特定业务领域可扩展的逻辑系统。
集中式与分布式:集中式部署方式,一台主机带多个终端,多见于大型金融行业。分布式部署则是由一群独立的服务器提供服务,服务集群部署,采用横向扩展思路,成本较低但会增加复杂度。
SOA与微服务:SOA是面向服务架构的概念,强调业务系统的组件化和服务化,提高软件的重用性、减少成本、增加业务敏捷度。微服务架构则是将功能分散到各个离散的服务中,实现解决方案的解耦,每个服务独立运行、部署、协作,围绕业务构建细粒度的分布式系统。
理解这些术语,对于架构师而言至关重要,它们有助于统一语言、控制复杂度、提高系统灵活性和可维护性。在实践过程中,根据具体需求选择合适的架构风格和技术,可以有效提升软件开发的效率和质量。