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

SpringCloud

SpringCloud

    • (一)、分布式基础
    • (二)、nacos
    • (三)、配置中心
    • (四)、数据隔离
    • (五)、Sentinel
      • 5.1流控规则
      • 5.2 熔断规则
      • 5.3 热点规则
    • (六)、Gateway
    • (七)、Seata

(一)、分布式基础

集群架构:用于解决高并发
在这里插入图片描述
在这里插入图片描述

(二)、nacos

启动nacos,防火墙需要挂进白名单
在这里插入图片描述

启动流程:运行期间cmd窗口不能关闭否则nacos没有运行
在这里插入图片描述
服务发现:第三个仅限在Nacos里使用
在这里插入图片描述
增加多实例:在里面配置不同的端口–server.port=
在这里插入图片描述
当其他微服务都需要基础模型时,可以将他们封装在一个模块中,并将该模块导入services里的依赖,这样可以直接调用
在这里插入图片描述
负载均衡:
在这里插入图片描述
在这里插入图片描述
@LoadBalanced注解式负载均衡(注解在远程调用客户端上即RestTemplate)
在这里插入图片描述
例:先从url地址拿到api的名字,去注册中心获取所有列表(因为会有多台示例),用算法选一台发起请求
在这里插入图片描述

(三)、配置中心

在这里插入图片描述
基本用法:
在这里插入图片描述
整体导入了配置中心依赖时,如果某一个暂时不使用可以先加这个配置,使该模块正常启动
在这里插入图片描述

自动刷新:@ConfigurationProperties可以用来批量绑定(prefix后面跟配置前缀,变量正常跟配置里的一样,-用驼峰),nacos环境下自带刷新
在这里插入图片描述
思考题:以配置中心为准既Nacos中的数据集,若导入多个配置(以,分割可以导入多个),也是以先导入的优先
在这里插入图片描述
在这里插入图片描述

(四)、数据隔离

在这里插入图片描述
使用名称空间区分多套环境,分组区分微服务,数据集区分配置

在这里插入图片描述
profiles是动态激活哪个名称空间,并且namespace的值可以赋予一个默认值
在这里插入图片描述
不同环境下导入那些配置都可以分别设置
在这里插入图片描述
fallback和blockhandler:有block先走block

(五)、Sentinel

cmd启动服务:8080端口访问。默认的账号密码都是sentinel
在这里插入图片描述
异常处理:第一种是针对web接口,第二种是针对接口下的资源进行处理,第三种openfeign调用(有fallback走fallback不然走底层处理),第四种直接用try catch
在这里插入图片描述

5.1流控规则

在这里插入图片描述
阈值类型:集群模式下,单机均摊就是每一个分配多少,总体就是不管多少个机子都是只能通过这么多
在这里插入图片描述
流控模式:
在这里插入图片描述
流控效果:
在这里插入图片描述

5.2 熔断规则

断路器原理:
在这里插入图片描述
在这里插入图片描述

慢调用比例:统计5秒内的请求响应大于1秒的超过80的比例就会熔断30s,然后再转半开再放行探测
在这里插入图片描述

5.3 热点规则

可以对参数限流

(六)、Gateway

在这里插入图片描述
MVC是传统网关,没有gateway性能好
在这里插入图片描述

配置文件配置规则:负载均衡依赖要单独添加,规则匹配是从上到下
在这里插入图片描述
基本原理:
在这里插入图片描述

断言:断言工厂
在这里插入图片描述
自定义断言工厂:名字必须按格式写,继承该抽象类
在这里插入图片描述
过滤器:
在这里插入图片描述
可以用来路径重写:
在这里插入图片描述
默认filter可以对所有都生效
全球filter

自定义工厂:与断言类似
在这里插入图片描述

允许跨域:
在这里插入图片描述

(七)、Seata

分布式事务
在这里插入图片描述
架构原理:7091seata界面 8091是服务器。使用GlobalTransactional注解注释TM(全局事务)
在这里插入图片描述

二阶提交:
在这里插入图片描述
四种事务模式:AT(推荐) XA (占用资源多,在提交前就是阻塞模式) TCC(可以手动定义一些对数据库的操作) saga(长事务)

http://www.xdnf.cn/news/55225.html

相关文章:

  • 火箭姿态控制系统
  • RV1126网络环境TFTPNFS搭建(四)
  • C++学习:六个月从基础到就业——内存管理:内存泄漏与避免
  • 一文读懂Python之numpy模块(34)
  • 02_解决Class com.sun.tools.javac.tree.JCTree
  • STM32基础教程——HEX数据包接收
  • 域名解析,配置Linux系统的固定IP地址
  • 用python + PIL 实现图片格式转换工具
  • 5 提示词工程指南-计划与行动
  • 重读《人件》Peopleware -(8)Ⅱ办公环境Ⅰ家具警察
  • 【Python语言基础】23、文件处理
  • HTML表单与数据验证设计
  • [Spring]SSM整合
  • Nginx静态资源跳转添加权限验证
  • 不确定与非单调推理的模糊推理
  • c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第六式】文件操作
  • System.out 详解
  • 东京 ⇄ 京都游记⛩️
  • Linux 420 find stat touch tree scp crontab
  • 【Android】Wallpaper学习
  • cpp知识章节
  • 除了`String`、`StringBuffer` 和 `StringBuilder`之外,还有什么处理字符串的方法?
  • 使用DeepSeek的AIGC的内容创作者,如何看待陈望道先生所著的《修辞学发凡》?
  • 从外网访问局域网服务器的方法+Linux文件和命令
  • ONLYOFFICE深度解锁系列.3-OnlyOffice集成第三方软件原理揭秘:如何提高文件打开速度
  • 基于一致性哈希算法原理和分布式系统容错机制
  • C++编程 希尔排序
  • 状态管理最佳实践:Provider使用技巧与源码分析
  • 【C语言函数部分的重要知识点】--自定义函数,static和extern
  • 【题解-JSOI】JSOI2009 配菜