本文介绍: 流程 项目启动—-(bootstrap.yml)–(读取nacos配置)—读取本地.yml文件创建spring容器加载bean。(feign.logger.level):4种(没有默认),基础,请求头,全部) 配置全局或者某个。三个部分组成:头部(Header)、载荷(Payload)和签名(Signature)。*正常流程 项目启动读取本地.yml文件创建spring容器加载bean。):选择状态为”UP”(可用)的服务实例中,响应时间最短的服务实例处理请求
JWT

JWT(JSON Web Token)是一种用于网络应用间传递信息安全标准。JwtTool生产成
三个部分组成:头部(Header)、载荷(Payload)和签名(Signature)。
工作流程如下:
1. 用户提供身份验证凭证(例如用户名密码)进行身份验证
2. 服务器验证用户凭证的有效性,并生成一个 JWT。
3. 服务器将 JWT 返回客户端
4. 客户端将 JWT 存储本地(通常是在浏览器本地存储或 Cookie 中)。
5. 客户端在后续的请求中将 JWT 作为身份验证凭证传递给服务器。(拦截器
6. 服务器验证 JWT 的签名和有效期,并根据其中的信息进行授权身份验证
 

注册中心

注册中心 eureka ,Nacos服务治理,)
心跳 ,续约,推送改变,注册发现健康监控
eureka集群部署

Nacos
服务分级存储模型
集群概念  服务集群实例
支持配置管理动态路由流量管理和服务熔断
负载均衡集群优选轮询,权重(0-1)
环境隔离:就是新建分组 sit或uat

eureka和Nacos区别
CAP理论,Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性),
*心跳Nacos有临时实例(自己发给注册中心,不健康会剔除) 和非临时实例(注册中心主动发,不健康状态更新及时
*消费者推送:e只是pull  N有pull和push
*eureka(AP)和Nacos(CP)
*Nacos配置管理

Nacos统一配置管理配置更新
*类似Spring Cloud Config
*正常流程 项目启动读取本地.yml文件 —创建spring容器加载bean
*流程 项目启动—-(bootstrap.yml)–(读取nacos配置)—读取本地.yml文件 —创建spring容器–加载bean
*bootstrap.yml 引导文件 优先级高于 application.yml
步骤1 在Nacos添加配置,服务添加bootstrap.yml配置
步骤2 服务 配置自动刷新
2.1在@Value注入的变量所在类添加@RefreshScope
2.2使用@ConfigurationProperties(自动注入配置文件的值)

 

 

负载均衡  Ribbon(配置文件配置)

1. Round Robin轮询)默认:按照顺序依次将请求分发给不同的服务实例。
2. Random随机):随机选择一个服务实例来处理请求
3. Weighted Round Robin加权轮询):根据服务实例的权重,按照一定顺序请求分发给不同的服务实例。
4. Weighted Random加权随机):根据服务实例的权重,随机选择一个服务实例来处理请求。 5. Availability Filter(可用性过滤):排除掉故障或不可用的服务实例,然后再根据其他策略进行负载均衡
6. Response Time(响应时间):根据服务实例的平均响应时间,选择响应时间最短的服务实例来处理请求。
7. Best Available(最佳可用):选择状态为”UP”(可用)的服务实例中,响应时间最短的服务实例来处理请求。
8. Zone Avoidance(区域避免):避免将请求发送到与调用方处于同一区域的服务实例,以提高系统的可用性和稳定性。
加载: 第一次使用的时候加载   第一次请求会比较
饥饿加载启动就加载
 

远程调用
restTemplate

feign声明客户端-远程调用

替代restTemplate
集成了负载均衡 ribbon默认
集成hystrix

自定义配置
*日志级别feign.logger.level):4种(没有默认),基础,请求头,全部) 配置全局或者某个
常用(最好选择 没有 ,基础)提高性能
*失败重试feign.Retryer):请求失败重试默认没有,不过ribbon重试的 就是默认
响应结果解析:例如将jsonjava对象
支持的注解格式默认springMVC的注解

feign性能优化
*底层使用 URLConnection  不支持连接池   (默认的)
httpClient  支持连接池 
OKhttp  支持连接池 
 优化1:使用httpClient或者OKhttp去替代  配置开启连接池
优化2:日志 最好选择 没有 ,基础提高性能

feign最佳是实现
继承:controller和feignClient继承相同接口    缺点耦合度高
抽取:将feign抽取出独立模块    缺点:很大用不到的代码也必须一起加进来

Gateway统一网关

作用
*身份验证
*服务路由和负载均衡
*请求限流
选择
*Gateway 响应式(更好
*Zuul  阻塞的

搭建(3服务)
创建服务
配置路由id /地址/ 断言(**/usr)  过滤器(处理请求或者响应))

断言工厂
path(默认)
哪个时间之前  ,之后 , 之间,
请求cookiehead 包含什么 
指定host  ,请求方式,  指定参数  
ip范围 权重

GatewayFilter过滤器(过滤器链)
过滤器工厂
添加移除 请求头,添加异常响应头 , 限制流量
GlobalFilte全局过滤器可以自定义过滤逻辑登陆模块

网关-跨网问题处理(域名端口不一样,浏览器禁止)
CORS(浏览器询问-服务器)

雪崩
hystrix
sentinel图像

 

分布式事务

seata框架
 

TC (Transaction Coordinator) – 事务协调者
维护全局和分支事务的状态驱动全局事务提交回滚

TM (Transaction Manager) – 事务管理
定义全局事务的范围:开始全局事务、提交回滚全局事务。

RM (Resource Manager) – 资源管理
管理分支事务处理资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交回滚

AT模式  保存补偿操作
XA 未提交阻塞
 

 

原文地址:https://blog.csdn.net/weixin_38822255/article/details/134667557

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_10293.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注