单体、集群、分布式、SOA、微服务

本文探讨了单体架构、集群、分布式系统(包括水平和垂直拆分)、SOA和微服务的概念,以及它们之间的关系。重点介绍了微服务的四大原则和SOA与微服务在设计思路和架构层次上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单体

单个机器,单个实例

集群

多个机器,部署多个相同的实例,通过负载均衡对外提供服务

分布式

分为水平拆分(横向拆分)和垂直拆分

水平拆分

根据“分层”的思想进行拆分。例如,可以将一个项目根据“三层架构”拆分成 表示层(jsp+servlet)、业务逻辑层(service)和数据访问层(dao),然后再分开部署:把表示层部署在服务器A上,把service和dao层部署在服务器B上,然后服务器A和服务器B之间通过dubbo等RPC进行进行整合

垂直拆分

根据不同的业务模块进行拆分,例如一个购物系统,根据用户模块、商品模块、购物车模块、订单模块等拆分多个模块,分别部署到不同的服务器上

SOA

SOA(Service-Oriented-Architecture)面向服务的架构。是把服务拼装形成应用整体的架构,将不同的服务通过ESB(企业服务总线)进行通信和交互。

微服务

微服务可以理解为更小颗粒度的垂直拆分,在垂直拆分的基础上,将业务划分为一个个更小的模块,每个模块都有独立的数据库,都可以独立运行。

微服务设计的四大原则:

单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责

自治:团队独立、技术独立、数据独立,独立部署和交付

面向服务:服务提供统一标准的接口,与语言和技术无关

隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

SOA和微服务的区别

SOA的设计思路是把一些组件和服务,通过服务总线组装,形成更大的应用系统(从小到大);而微服务的设计思路是把应用拆分成独立自治的小的服务(从大到小)。

SOA设计架构强调分层,通常会分为展现层、业务层、总线层和数据层。微服务架构中的服务更松散。

参考资料:

面向服务的架构(SOA)详解

分布式,SOA,微服务三者的联系和区别是什么?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值