SpringCloud初识

本文介绍了架构从单体到分布式再到微服务的演进过程,重点解析了SpringCloud微服务架构的特点,包括服务拆分、远程调用、注册中心等关键概念。对比了Dubbo、SpringCloud和SpringCloudAlibaba的不同,并强调了服务拆分的注意事项和远程调用的方法。同时,提到了SpringCloud的亮点和与SpringBoot的版本对应关系。
摘要由CSDN通过智能技术生成

开始学习springcloud之前应该了解架构演进、相关组件、及一些注意事项

架构演变

单体架构

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署
优点:架构简单、部署成本低
缺点:耦合度高、扩展性差
适合小型项目,如学生管理系统

分布式架构

分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务
优点:降低服务耦合、有利于服务升级拓展
缺点:拆分粒度、集群维护、远程调用等(引入微服务方案)
适合大型互联网项目,如京东、淘宝

微服务

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

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

微服务技术对比

Dubbo、SpringCloud、SpringCloudAlibaba

DubboSpringCloundSpringCloundAlibaba
注册中心zookeeper、redisEureka、ConsulNacos、Eureka
远程调用Dubbo协议Feign(http协议)Dubbo、Feign
配置中心SpringCloudConfigSpringCloudConfig、Nacos
服务网关SpringCloudGateway、ZuulSpringCloudGateway、Zuul
监控和保护dubbo-damin,功能弱HystrixSentinel

认识微服务

SpringCloud

在这里插入图片描述

亮点:基于springboot实现组件自动装配,从而提供良好的开箱即用体验

springcloud和springboot版本对应

在这里插入图片描述

本笔记使用Hoxton.SR10,对应springboot版本为2.3.X版本

服务拆分及远程调用

服务拆分注意事项

1.不同微服务、不要重复开发相同业务
2.微服务数据独立、不要访问其他服务的数据库
3.服务可将自己的业务暴露为接口,供其他服务使用

远程调用

1.基于RestTemplate发起http请求实现远程调用
2.http请求和语言无关,只要知道ip、端口、接口路径、请求参数即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值