当前位置: 首页 > news >正文

SpringCloud01-初识微服务SpringCloud

一、微服务技术栈一览

模块关键内容详细知识点
微服务治理服务注册与调用、配置管理、网关Eureka、Nacos、OpenFeign、Gateway、配置中心 Nacos
Docker容器化与部署Docker 原理、Docker 使用、Dockerfile、Docker Compose
异步通信系统解耦、削峰同步/异步、MQ 技术模型、Spring AMQP、消费者限流
分布式搜索大数据搜索引擎DSL 语法、HighLevelClient、拼音搜索、自动补全、竞价排序、地理搜索、聚合统计、分片集群
模块关键内容详细知识点
微服务保护系统稳定性保障流量控制、系统保护、熔断降级、服务授权
分布式事务数据一致性保障XA 模式、TCC 模式、AT 模式、Saga 模式
分布式缓存高性能缓存架构数据持久化、Redis 主从集群、哨兵机制、Redis 分片集群
多级缓存缓存加速方案多级缓存分层、Nginx 缓存、Redis 缓存、Canal 数据同步
可靠消息服务消息不丢失、不重复、不积压消息三方确认、惰性队列、延迟队列、镜像集群、仲裁队列
模块关键内容详细知识点
Nacos 源码服务注册与发现机制服务发现原理、服务注册原理、心跳机制、Nacos vs Eureka
Sentinel 源码流控/熔断算法原理滑动窗口算法、令牌桶算法、漏桶算法
Redis 热点问题高并发缓存安全分布式锁、缓存穿透、缓存击穿、缓存雪崩

二、认识微服务

2-1、单体架构

2-2、分布式架构

目前,解决以上为题的方案:微服务。

2-3、小结

微服务,就是分布式架构的最佳实践方案。

三、主流的微服务技术

3-1、每个组件是什么?

服务网关

所有外部用户访问系统,要先经过它。

就像 公司前台

  • 用户不会直接接触内部服务

  • 网关会根据请求分配任务到具体服务

  • 还能做 权限检查、限流、防攻击

关键词:统一入口、过滤、转发、保护系统


服务集群

系统拆成很多服务,并且每个服务可能会启动多个实例。

就像有很多工人团队:

  • 用户服务(处理登录、信息)

  • 订单服务(负责下单)

  • 库存服务(减少库存)

  • 支付服务(处理付款)

而且每个服务都有多台机器 → 防止崩掉、支持高并发
这叫 集群

关键词:多实例、负载均衡、扩容


注册中心

每个服务启动时,必须来这里登记「我是谁,我在哪」
其他服务通过它找到彼此。

就像 公司通讯录/员工电话本

服务地址是否可用
用户服务192.168.1.10:8080在线
支付服务192.168.1.11:9000在线

代表技术:Eureka、Nacos、Consul


配置中心

用来统一管理配置,不要让每个服务自己保存配置文件。

就像 公司制度手册

  • 数据库账号、密码

  • 日志配置

  • 开关控制(比如开启活动模式)

只需改一个地方,所有服务都能自动更新,不用逐个修改。

代表技术:Nacos Config、Apollo、Spring Cloud Config

3-2、微服务技术对比

3-3、企业需求

四、初识SpringCloud

4-1、SpringCloud 与 SpringBoot

SpringBoot 专注于一个服务怎么写得简单好用;
SpringCloud 专注于很多服务之间怎么协同工作。

4-2、版本兼容关系

SpringCloud 依赖 SpringBoot,版本要匹配才能正常使用。不能乱搭配。

如果你是初学者:

推荐:SpringBoot 2.6.13 + SpringCloud 2021.0.5(稳定好用,教程多)。

如果你用 JDK17:

选择:SpringBoot 3.x + SpringCloud 2022.x(最新技术栈)。

http://www.dtcms.com/a/589042.html

相关文章:

  • Web3 与去中心化应用(dApp)学习分享:从基础到应用
  • 贵州省住房和城乡建设厅官网站首页本地如何安装wordpress
  • 使用 dash 构建整洁架构应用
  • Transofrmer架构详解与PyTorch实现(附代码讲解)
  • 【自用】Python二分查找写法
  • 云原生爬虫:使用Docker和Kubernetes部署与管理分布式爬虫集群
  • Rust与Go:现代系统编程语言的深度对比
  • 国外html5网站源码网络舆情应急处置预案
  • 第1篇:Linux工具复盘上篇:yum与vim
  • Linux复习:gdb调试深度解析:debug与release
  • 哪家网站开发公司好平台公司信用评级
  • 【JavaEE】Spring Web MVC(下)
  • Hello-Agents第一章深度解析:智能体的本质、构建与实践
  • 【JAVA全栈项目】弧图图-智能图床SpringBoot+MySQL API接口结合Redis+Caffeine多级缓存实践解析
  • Linux复习:冯·诺依曼体系下的计算机本质:存储分级与IO效率的底层逻辑
  • 浅析MyBatisPlus 核心执行流程
  • 网站前台 后台建网站怎么搭建自己的服务器
  • 【C++】C++中的多线程
  • Painter AI 材质 x 智能遮罩:告别“风格化”手K地狱
  • 网站建设工作小组推进表陈仓网站建设
  • 自指自洽,人各有色,本分随缘
  • 从芯到云:openEuler 打造的全场景软件生态链
  • 一个域名可以绑定两个网站吗免费字体设计网站
  • 服装设计网站有哪些自适应网站系统吗
  • 动态规划经典题解:单词拆分(LeetCode 139)
  • Softmax 与 Sigmoid:深入理解神经网络中的两类激活函数
  • OpenCV(二十一):图像的放大与缩小
  • 【Datawhale25年11月组队学习:hello-agents+Task1学习笔记】
  • 从零开始:如何搭建你的第一个简单的Flask网站
  • Babylon.js材质冻结的“双刃剑“:性能优化与IBL环境冲突的深度解析