分布式下的Session解决方案

分布式下的Session解决方案单点登录在单机模式下是非常好解决的,毕竟只要在单机的Session中存储一份即可,而在分布式下单点登录由于相同服务的机器众多,不可能每个服务器每次都会对同一个服务器服务,所以分布式下的单点登录就成为了一个问题.单点登录一般依靠Cookie或者Session实现(Ses


常用包装类的缓存分析

Integer Long缓存知识我们都知道Integer是一个int类型的包装类,具有缓存-128-127.这里通过源代码展示下为什么是这个区间的缓存值/** * Cache to support the object identity semantics of autoboxing for


RabbitMQ面试题

MQ消息积压以及处理方案这种时候只能操作临时扩容,以更快的速度去消费数据了增加多个消费者,加速消费新建topic引流,将消息引导别的程序中,洪水一个道理。如何保证消息不被丢失生产者丢失消息这里我们有两种方法可以避免RabbitMQ丢失消息开启RabbitMQ的事务功能,就是生产者在发送数据之前开启事


Redis 缓存击穿 缓存穿透 缓存雪崩

缓存穿透访问一个不存在的key(查询 userid = -10),缓存不起作用,请求会穿透到DB,流量大时DB会挂掉解决方案布隆过滤器接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截缓存击穿一个存在的key,在缓存过期的那一刻,同时有大量的请求,这些请求都会击穿到DB,造成


SpringCloud-Eureka入门

Eureka是SpringCloud Netflix的子组件,作用是注册中心,类似于Dubbo的Zookeeper,以及Alibaba的Nacos,负责查看和管理各个微服务的情况,同时也协调了各个微服务Eureka分类Eureka-Server和Eureka-Client两部分,1.Eureka-S


Token,jwt和jjwt

认证和授权认证认证 (Authentication): 服务器需要知道你是谁。授权 (Authorization): 服务器需要知道你有权限干什么。要解决的问题用户认证和授权,在最开始依赖于Cookie和Session,但两种方法都存在一些弊端,Cookie因为存放在用户浏览器中,安全性不能得到保证


SpringBoot2静态资源处理

得益于SpringBoot2的自动配置,所以静态资源的处理也是有自动配置的,打开源代码中的WebProperties类就可以看到SpringBoot2对于静态资源的默认路径有如下几个private static final String[] CLASSPATH_RESOURCE_LOCATIONS


SpringBoot2上传多个文件

这里基本和SpringBoot2上传单个文件的方式相同,只不过文件变成了多个@RestControllerpublic class FileUploadController2 { private DateTimeFormatter dateFormat = DateTimeFormatter.of


SpringBoot2上传单个文件

SpringMVC的时候我们引入了apache.commons.fileupload包来进行文件上传,在SpringBoot2中则不需要引入该jar包(当然,引入也是可以的)这里先将上传单个文件的代码,做一份记录@RestControllerpublic class FileUploadContro