微服务和SpringCloud的关系

本文介绍了微服务的概念及特点,对比了单体架构与分布式架构的不同,并详细阐述了SpringCloud作为微服务落地框架的作用及其与微服务的关系。同时,还提供了不同微服务技术方案的对比。

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

1.什么是微服务

解释什么是微服务前要了解为什么会出现微服务?

这就不得不说一下架构的演进,从单体架构——》分布式架构——》微服务。

单体架构:将业务所有功能集中到一个项目中开发,打包成一个jar包部署。

优点:1.架构简单 2.部署成本低

缺点:耦合程度高,万一动一部分代码其他代码出现问题怎么办。比如说要动订单模块,用户模块和订单模块耦合度高,我改订单模块用户模块会不会受到影响?我订单模块挂了,那么我用户模块也不能用了,这显然是不适合的,那我是不是可以考虑把业务给拆分出来?分布式架构应用而生。

分布式架构: 根据业务功能对系统进行拆分,每个业务模块作为独立项目开发。

优点:1.降低服务耦合 2.有利于服务升级

缺点:需要考虑一下问题:

服务拆分粒度如何?哪些业务可以拆开,哪些业务不能拆开?
服务集群地址如何维护?服务拆开了,怎么去维护这些业务?
服务之间如何实现远程调用?服务和服务之间怎么进行调用?
服务健康状态如何感知?服务调用其他服务,其他服务挂了导致自己服务挂了怎么办?

 解决这些繁琐的问题,就可以考虑有没有成熟的解决方案呢,微服务就展现出来。

 

微服务:微服务是一种经过良好架构设计的分布式架构方案,具体就是把一个项目拆分成独立的多个服务,并且多个服务是可以独立运行的,而每个服务都会占用线程。

特征:

单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
面向服务:微服务对外暴露业务接口
自治:团队独立、技术独立、数据独立、部署独立
隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

 总结:

单体架构特点?

简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统

分布式架构特点?

松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝

微服务:一种良好的分布式架构方案

优点:拆分粒度更小、服务更独立、耦合度更低
缺点:架构非常复杂,运维、监控、部署难度提高


2.什么是SpringCloud

SpringCloud不是新技术或新框架,而是一系列成熟的微服务框架组合,并基于springboot实现这些组件的自动装配。

 


3.两者的联系

总结: 

微服务是一套分布式架构的解决方案。

SpringCloud是一系列成熟微服务框架的集合。

 SpringCloud是解决微服务落地框架的一种。

4.微服务技术的对比

微服务这种方案需要技术框架来落地,比较知名的有:SpringCloud、Dubbo、SpringCloudAlibaba,其中SpringCloud和SpringCloudAlibaba都是一站式解决方案,三种技术的对比如下

 一般是这几种组合:

1.SpringCloud+Feign 

使用 SpringCloud 技术栈
服务接口采用 Restful 风格
服务调用采用 Feign 方式

2.SpringCloudAlibaba+Feign

使用 SpringCloudAlibaba 技术栈
服务接口采用 Restful 风格
服务调用采用 Feign 方式

 

3.SpringCloudAlibaba+Dubbo

使用 SpringCloudAlibaba 技术栈
服务接口采用 Dubbo 协议标准
服务调用采用 Dubbo 方式

 

4.Dubbo原始模式

基于 Dubbo 老旧技术体系
服务接口采用 Dubbo 协议标准
服务调用采用 Dubbo 方式

 

SpringCloud + Feign

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值