![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Sptring
文章平均质量分 65
开 端
所有的知识、你能吸收多少,更取决于自己,自律性!(好比一座山,能搬有多少看自己的努力)
展开
-
数据架构设计实现(2)-数据库高阶应用
1. MySQL的SQL优化索引命中规则# 执行计划explain select * from pms_product where id=1;# 组合索引一定是最左匹配原则# 如果你在表上建立了很多组合索引,索引文件膨胀,修改、删除、更新会比较慢适合建立的列频繁查询的列有外键关联的列不适合建立的列值变化少的列频繁更新的表的记录比较少:比如配置表如何保证数据库死而不僵show processlist;kill id;2. 数据库架构的设计2.1.原创 2022-01-17 15:03:03 · 116 阅读 · 0 评论 -
数据架构设计实现(1)-数据库高阶应用
文章目录1. MySQL的执行过程分析1.1. MySQL 5.7安装步骤1.2. 学习的基础数据导入3. 基础知识回顾2. MySQL内部的日志类型作用及分析3. MySQL数据备份恢复以及执行优化3.1. Binlog是有三种模式的3.2. 数据备份1. MySQL的执行过程分析1.1. MySQL 5.7安装步骤1、下载rpm包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-1.el7.x86_64.rpm-.原创 2022-01-14 11:23:31 · 131 阅读 · 0 评论 -
分布式限流设计
文章目录1. 分布式限流概述2. 分布式限流的几种纬度2.1. QPS和连接数控制2.2. 传输速率2.3. 黑白名单2.4. 分布式环境3. 分布式限流的主流方案3.1. 客户端限流3.2. 网关层限流3.3. 中间件限流3.4. 限流组件4. 限流方案常用的算法分析4.1. 令牌桶算法4.1.1. 令牌生成4.1.2. 令牌获取4.2. 漏桶算法4.3. 漏桶vs令牌桶的区别4.4. 滑动窗口和计数器5. 使用Guava RateLimiter实现客户端限流5.1. 非阻塞式限流5.2. 阻塞式限流6.原创 2022-01-14 11:07:56 · 922 阅读 · 0 评论 -
系统安全相关知识学习
系统安全相关知识学习1. 系统安全是什么一般人只有当系统被侵入之后才会意识到网络安全非常重要,往往看到问题的时候都只是表面现象,是否能够找到根本原因并进行修复,才是安全投入的关键安全的本质就是保护数据被合法地使用,怎么才叫做被合法的使用呢?我们可以从机密性、完整性、可用性这三个方面具体来看,这三个方面也是安全领域最为基础的3个安全原则安全原则:机密性、完整性、可用性,我们可以简称为CIA三元组,是安全的基本原则1.1. 机密性机密性用一句话来说就是,确保数据只被授权的主体访问,不被任何为授权的原创 2022-01-06 08:00:00 · 5085 阅读 · 0 评论 -
SpringCloud服务网关快速落地实战
目录服务网关在微服务中的应用对外服务的难题文章目录服务网关在微服务中的应用前言一、服务网关在微服务中的应用1. 对外服务的难题2.访问控制3. 路由规则二、第二代网关Gateway1.Gateway的标签2.Gateway可以做什么三、Gateway快速落地实施体验四、路由功能详解1.路由组成结构2.负载均衡3.路由的工作流程五、断言功能详解1.Predicate机制2.断言的作用阶段3.常用断言介绍4.路径断言5.Method断言6.RequestParam匹配6.Header断言7. Coo原创 2022-01-04 07:45:00 · 124 阅读 · 0 评论 -
Gateway过滤器原理和生命周期
1. 过滤器原理和生命周期所有的开源框架实现过滤器的模式都是大同小异的,通过一种类似职责链的方式,传统的职责链模式中的事件会传递指直到有一个处理对象接手,而过滤器和传统的职责链有点不同,所有过滤器都要进行过滤和处理,一路走到底,直到被最后一个过滤器处理1.1. 过滤器的实现方式在Gateway中实现一个过滤器非常简单,只要实现GatewayFilter接口的默认方法就好了public Mono<Void> filter(ServerWebExchange exchange, Gatewa原创 2022-01-01 08:00:00 · 578 阅读 · 0 评论 -
Gateway断言功能详解
1. Predicate机制Predicate是Java8中引入的一个新功能,和我们平时写单元测试的时候Assertion差不多,Predicate是接收一个判断条件,返回一个ture或false的布尔值结果,告知调用发判断结果。也可以通过and、or和negative(非)三个操作符多个Predicate串联在一块共同判断Predicate其实就是我们和Gateway对接的数据暗号,比如要求你的Request中必须带有某个指定的参数叫name,对应的值必须是一个指定的人名(Gavin),如果Reque原创 2021-12-31 08:36:02 · 5845 阅读 · 1 评论 -
Gateway路由功能详解
1. 路由组成结构Gateway中可以定义很多个Route,一个Route就是一套包含完整转发规则的路由,主要有三部分组成断言集合:断言是路由器处理的第一个环节,他是路由的匹配规则,他决定了一个网络请求是否可以匹配给当前路径来处理,之所以他是一个集合是因为我们可以个一个路由添加多个断言,当每个断言都配置成功了才算是过了路由这一关过滤器集合:如果请求通过了前面断言的匹配,表明被路由正式接手了,结下就需要经过过滤器了,比如说权限验证,如果验证不通过就设置为Status Code为403并中断操作UR原创 2021-12-29 08:56:05 · 3407 阅读 · 1 评论 -
Gateway快速落地实施体验
创建gateway项目连接Eureka基于服务发现自动创建路由规则通过Actuator实现动态路由功能创建项目并加入POM依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</arti.原创 2021-12-30 08:00:00 · 164 阅读 · 0 评论 -
SpringCloud服务网关
1. 对外服务的难题微服务架构的应用系统的体系非常庞大的,光是需要独立部署的基础组件就有注册中心、配置中心和服务总线、Turbine异常聚合和监控大盘、调用链追踪和链路聚合,还用kafka和MQ之类的消息中间件,加上按照业务域拆分的微服务组件和模块,一个小的系统非常轻松的就能弄出20多个module,会有这么多的部署包。我们前面都是采用localhost加端口的方式直接访问,如果这些服务一并都要提供给外部用户访问那该怎么处理?开发在各个页面给不同的请求配置URL和端口号,但是一大堆的URL在我们的前端进原创 2021-12-29 08:00:00 · 189 阅读 · 0 评论 -
Failed to introspect Class [org.springframework.cloud.gateway.config.GatewayAutoConfiguration$NettyC
今天碰到一个版本的问题,搭建gateway、idea运行。maven工程来的。起初运行一直卡在这,无法进入SpringBoot启动的界面java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.gateway.config.GatewayAutoConfiguration.propertiesRouteDefinitionLocator at org.springframework.原创 2021-12-27 12:00:30 · 3808 阅读 · 0 评论 -
什么是线程安全
一个无状态Select@NotThreadSafepublic class StatelessFactoreizer implements Servlet { private Long count = 0L; public Long getCount() { return count; } @Override public void service(ServletRequest servletRequest, ServletResponse s原创 2021-12-17 14:36:44 · 194 阅读 · 0 评论 -
Spring AOP 概念
连接点(join point):对应的是具体被拦截的对象,因为spring只能支持方法,所以被拦截的对象往往就是指特定的方法,例如我们提到UserServiceImpl 的 printUser方法就是一个连接点,AOP将通过动态代理几十把它织入对应的流程中。切点(point cut):有时候,我们的切面不单单应用于单个方法,也可能是多个类的不同方法,这时...原创 2021-11-22 10:13:34 · 484 阅读 · 0 评论 -
Spring Boot 开发自己的拦截器
/** * -- Created with IntelliJ IDEA. * -- @REMARK: * -- @Author: tanwei * -- @Date: 2021/11/16/1:31 下午 * -- @Description: */public interface HelloService { public void sayHello(String name);}/** * -- Created with IntelliJ IDEA. * -- @REMARK:原创 2021-11-16 17:13:11 · 378 阅读 · 0 评论 -
Spring 初始化 生命周期
生命周期我们在项目使用过程中很常见的要求。为了解决这些问题,我们有必要了解Spring IoC初始化和销毁Bean的过程,这便是Bean的生命周期的过程,它大致分为Bean定义、Bean初始化、Bean的生存期和Bean的销毁4个部分。 Spring 通过我们的配置,如@ComponentScan定义的扫描路径去找到带有@Componet的类,这个过程就是一个资源定位的过程。 一旦找到了资源,那么它就开始解析,并且将定义的信息保存起来。注意,此时还没有初始化Bean,也就没有Bean的实例,它的仅仅是原创 2021-11-14 09:26:36 · 259 阅读 · 0 评论 -
SpringBoot拦截器 Filter
Spring拦截器、处理header全局变量。import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import java.io.IOException;@Slf4jpublic class HeaderFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletExce原创 2021-03-19 17:11:40 · 115 阅读 · 0 评论