微服务组件介绍
2023-09-28 20:56:17 0 举报
AI智能生成
微服务组件介绍
作者其他创作
大纲/内容
服务列表
例:客户端(product微服务)相关配置
服务注册与发现
配置管理(将微服务配置数据持久化到数据库中)
配置中心
Nacos
接入sentinal控制台,从nacos获取流控规则
利用 Sentinel 的网关流控特性,在网关入口处进行流量防护,或限制 API 的调用频率。
如何整合gataway实现核心下单链路的兜底方案(限流熔断降级等系统保护)?
实现拉取和推送规则的相关接口
修改Controller处理方法
改造sentinel控制台,从nacos拉取和推送规则,gateway等微服务监听nacos中规则变化
注意网关、热点参数规则实体转换出现数据丢失的问题
如何实现sentinel规则持久化到nacos配置中心,保证客户端及时感知规则变化?
Sentinel
路由断言工厂将predicates转变为路由判断条件,实现路径匹配、Header匹配
路由匹配规则
如何通过全局过滤器实现请求认证和校验token,向后端微服务传递memberId?
1.GatewayFilter可以为后端请求动态添加请求头或请求参数。GlobalFilter:全局过滤器如LoadBalancerClientFilter、SentinelGatewayFilter,不需要在配置文件中配置,作用在所有的路由上,最终通过GatewayFilterAdapter包装成GatewayFilterChain能够识别的过滤器。 2.自定义过滤器工厂需继承AbstractNameValueGatewayFilterFactory且自定义名称必须要以GatewayFilterFactory结尾并交给spring管理。自定义全局过滤器定义方式是实现GlobalFilter接口。
过滤器配置
SpringCloudGateway
向认证中心请求公钥信息
封装请求头信息
@EnableAuthorizationServer+extends AuthorizationServerConfigurerAdapter
增强Token信息
2.2认证服务器加载用户需要实现UserDetailsService接口,可以openfeign调用会员微服务获取用户信息
2.3配置SpringSecurity,除oauth2请求外其他请求都需要认证
2.如何搭建授权中心微服务?
如何整合gateway实现授权中心,保证微服务调用链路安全?
SpringSecurityOauth2
原理:作为分布式事务协调者TC,采用SeataAT(改进后的两阶段提交协议)模式: 一阶段:TM(事务管理器)向TC发起全局事务,业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。核心在于对业务sql进行解析,转换成undolog,并同时入库。 二阶段分布式事务操作成功,则TC通知RM异步删除undolog。若分布式事务操作失败,TM(事务管理器)向TC发送回滚请求,RM 收到TC发来的回滚请求,通过 XID 和 Branch ID 找到相应的回滚日志记录,通过回滚记录生成反向的更新 SQL 并执行,以完成分支的回滚
确保Server和Client的注册处于同一个namespace、group并且seata-server配置文件的事务分组, 要与client配置的事务分组一致
如何将SeataServer和Client(TM、RM)注册到nacos中?
Seata
SkyWalking 是观察性分析平台和应用性能管理系统,提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。skywalking agent和业务统绑定在一起,负责收集各种监控数据Skywalking oapservice是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数据库或elasticsearch查询数据,并返回数据给前端。
Skywalking
右侧数字点击展开
微服务组件介绍
0 条评论
回复 删除
下一页