SpringCloud学习路线(1)—— 从头开始的微服务

一、服务架构的历史

  • 现有的服务框架: 单体架构
    • 概念: 将业务所有功能集中在一个项目中开发,打包部署
    • 优点: 架构简单,部署成本低
    • 缺陷: 耦合度高
  • 分布式架构
    • 概念: 根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务
    • 优点: 耦合度低,拓展性高
    • 缺陷: 无法跨越服务器请求调度
    • 分布式架构需要考虑的几个问题
      • 服务拆分精度
      • 服务集群地址维护
      • 服务之间调用
      • 服务健康状态检查

二、微服务

(一)概念: 微服务是一种经过良好架构设计的分布式架构方案。

(二)微服务架构特征:

  • 1、单一职责: 微服务拆分粒度小,每个服务对应唯一业务,避免重复业务开发。
  • 2、面向服务: 微服务对外暴露业务接口。
  • 3、自治: 团队独立、技术独立、数据独立、部署独立

(三)微服务结构的对比

Dubbo SpringCloud SpringCloudAlibaba
注册中心 zookeeper、Redis Euraka、Consul Nacos、Eureka
服务远程调用 Dubbo协议 Feign(http协议) Dubbo、Feign
配置中心 SpringCloudConfig SpringCloudConfig、Nacos
服务网关 SpringCloudGateway、Zuul SpringCloudGateway、zuul
服务监控和保护 dubbo-admin Hystrix Sentinel

三、SpringCloud

(一)概念: SpringCloud是目前国内使用最广泛的微服务框架,集成了各种微服务功能组件,并基于SpringBoot实现了组件的自动装配,提供开箱即用体验。
(二)官方地址: https://spring.io/projects/spring-cloud
(三)SpringCloud与SpringBoot的版本兼容

四、提供者与消费者

  • 什么是提供者和消费者?
    • 服务提供者: 一次业务,被其它微服务调用的服务。(基本上每个微服务都是服务提供者)
    • 服务消费者: 一次业务,调用其他微服务的服务。(调用接口的微服务)
相关推荐
李小星同志30 分钟前
高级算法设计与分析 学习笔记6 B树
笔记·学习
霜晨月c42 分钟前
MFC 使用细节
笔记·学习·mfc
小江湖19941 小时前
元数据保护者,Caesium压缩不丢重要信息
运维·学习·软件需求·改行学it
dot.Net安全矩阵1 小时前
.NET内网实战:通过命令行解密Web.config
前端·学习·安全·web安全·矩阵·.net
微刻时光2 小时前
Redis集群知识及实战
数据库·redis·笔记·学习·程序人生·缓存
m0_635502203 小时前
Spring Cloud Gateway组件
网关·微服务·负载均衡·过滤器
潮汐退涨月冷风霜4 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper4 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~4 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray5 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习