微服务与单体架构区别

本文探讨了微服务与单体架构的区别,包括代码组织、数据库使用和技术栈选择。微服务强调独立部署、运行及升级,允许使用不同存储方式和开发技术,而单体架构则相反。微服务具有易于维护、快速启动、局部部署等优势,但也带来运维复杂性和接口调整成本高的挑战。实践中,API Gateway用于统一入口和接口管理,服务间通信可采用REST、RPC或消息队列,服务发现通常借助Zookeeper等工具。此外,文章还讨论了服务容错策略,如重试、限流和熔断机制,以及负载均衡策略和API网关的重要性。
摘要由CSDN通过智能技术生成

1、单体架构所有的模块全都耦合在一块,代码量大,维护困难,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。

 

2、单体架构所有的模块都共用一个数据库,存储方式比较单一,微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。

 

3、单体架构所有的模块开发所使用的技术一样,微服务每个模块都可以使用不同的开发技术,开发模式更灵活。

 

微服务本质

1、微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上则表现为一个统一的整体。

2、微服务的目的是有效的拆分应用,实现敏捷开发和部署。

 

微服务优势与缺点

7.1 特性

1、每个微服务可独立运行在自己的进程里;

2、一系列独立运行的微服务共同构建起了整个系统;

3、每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理,用户管理等;

4、微服务之间通过一些轻量级的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。

 

7.2 特点

易于开发和维护

由于微服务单个模块就相当于一个项目,开发这个模块我们就只需关心这个模块的逻辑即可,代码量和逻辑复杂度都会降低,从而易于开发和维护。

 

启动较快

这是相对单个微服务来讲的,相比于启动单体架构的整个项目,启动某个模块的服务速度明显是要快很多的。

 

局部修改容易部署

在开发中发现了一个问题,如果是单体架构的话,就需要重新发布并启动整个项目,非常耗时间,但是微服务则不同,哪个模块出现了bug我们只需要解决那个模块的bug就可以了,解决完bug之后,我们只需要重启这个模块的服务即可,部署相对简单,不必重启整个项目从而大大节约时间。

 

技术栈不受限

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值