单体、分布式、 微服务架构发展

1.单体架构

一个系统中包含所有业务模块(用户、订单、库存等),所有模块共用一个数据库

优点

1、架构简单
2、易开发(前期)
3、易部署,
4、易测试,
5、开发成本低,
6、适用于小团队

缺点

1、耦合度高
2、容错效率低
3、扩展性差
4、不利团队协同开发

2.集群模式

一个系统复制部署在不同服务器上,形式上分布,逻辑上单体。

3.分布式项目

SOA Service-Oriented Architecture 面向服务的体系结构

将一个系统按模块拆分成多个子系统(用户系统,订单系统,库存系统),各个系统之间通过(webservice,dubbo,thrift)相互调用。   

优点

1、加强系统可用,天然的解决单点故障问题。
2、加强模块的复用性
3、提高单模块的开发部署效率
4、提高系统的扩展性
5、提高团队协助能力

缺点

1、增加了架构设计变得复杂(分布式事务,分布式锁)
2、增加了运维、部署的复杂度(单模块简洁快速,多模块更加复杂)
3、增加服务的响应时间(多模块相互调用,增加的调用链的长度,增加的响应时间)
4、增加的排查问题的成本(各模块逐一排查)
5、增加项目管理维护的复杂度

4.微服务

将分布式项目进行更加精细化的划分,每个拆分出来的服务保证职责单一(微服务属于分布式模式,只是拆分更加精细,职责跟进单一)。

优点

1、易于开发和维护
2、启动较快
3、局部修改容易部署
4、技术栈不受限
5、按需伸缩

缺点

1、运维要求较高
2、分布式的复杂性
3、接口调整成本高
4、重复劳动

5.分布式微服务带来的挑战

1、分布式事务
2、分布式锁
3、负载均衡 
4、服务发现 
5、数据库性能与高可用 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值