模块十一_SpringCloud组件设计原理(下)

2020-11-10  本文已影响0人  西西弗斯XD

序言:

文章内容输出来源:拉勾教育Java高薪训练营。
本篇文章是学习课程中的一部分课后笔记

一、分布式链路追踪技术

1、 场景描述

使⽤微服务架构设计我们的系统,使得我们的系统不仅能够通过集群部署抵挡流量的冲击,⼜能根据业务进⾏灵活的扩展。
那么,在微服务架构下,⼀次请求少则经过三四次服务调⽤完成,多则跨越⼏⼗个甚⾄是上百个服务节点。那么问题接踵⽽来:

  1. 如何动态展示服务的调⽤链路?(⽐如A服务调⽤了哪些其他的服务---依赖关系)
  2. 如何分析服务调⽤链路中的瓶颈节点并对其进⾏调优?(⽐如A—>B—>C,C服务处理时间特别⻓)
  3. 如何快速进⾏服务链路的故障发现?

这就是分布式链路追踪技术存在的⽬的和意义。

2、市场上的分布式链路追踪⽅案
3、分布式链路追踪技术核⼼思想
trace.png

二、 Sleuth + Zipkin 简介

1、Spring Cloud Sleuth
zipkin.png

三、微服务统⼀认证⽅案 Spring Cloud OAuth2+ JWT

1、OAuth2介绍

OAuth(开放授权)是⼀个开放协议/标准,允许⽤户授权第三⽅应⽤访问他们存储
在另外的服务提供者上的信息,⽽不需要将⽤户名和密码提供给第三⽅应⽤或分享
他们数据的所有内容。(第三方qq,微信登陆)

oauth2.png
2、OAuth2的颁发Token授权⽅式
3、Spring Cloud OAuth2介绍
认证服务.png
4、JWT令牌介绍
5、什么是JWT?
6、JWT令牌结构

JWT令牌由三部分组成,每部分中间使⽤点(.)分隔,⽐如:xxxxx.yyyyy.zzzzz

{
 "alg": "HS256",
 "typ": "JWT"
}

将上边的内容使⽤Base64Url编码,得到⼀个字符串就是JWT令牌的第⼀部分。

{
 "sub": "1234567890",
 "name": "John Doe",
 "iat": 1516239022
}

最后将负载使⽤Base64Url编码,得到⼀个字符串就是JWT令牌的第⼆部分。

HMACSHA256(
 base64UrlEncode(header) + "." +
 base64UrlEncode(payload),
 secret)

base64UrlEncode(header):jwt令牌的第⼀部分。
base64UrlEncode(payload):jwt令牌的第⼆部分。
secret:签名所使⽤的密钥。

四、Nacos 服务注册和配置中⼼

1、 Nacos简介

Nacos (Dynamic Naming and Configuration Service)是阿⾥巴巴开源的⼀个针
对微服务架构中服务发现、配置管理和服务管理平台。
Nacos就是注册中⼼+配置中⼼的组合(Nacos=Eureka+Config+Bus)

2、 Nacos功能特性
3、 保护阈值
4、 Nacos 数据模型(领域模型)
数据模型.png
数据模型解析.png

五、 SCA Sentinel 分布式系统的流量防卫兵

1、Sentinel介绍
2、Sentinel 分为两个部分:
3、Sentinel 特征
4、Sentinel 的主要特性
特性.png
上一篇下一篇

猜你喜欢

热点阅读