spring cloud redis session共享
阅读数:193 评论数:0
跳转到新版页面分类
python/Java
正文
mvn依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
zuul模块的设置
@SpringBootApplication
@EnableZuulProxy//允许zuul代理,配置session存储后立刻刷新设置刷新模式为立刻刷新,否则可能获取不到session。
@EnableEurekaClient
@EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE)
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class,args);
}
}
zuul:
routes:
service0:
#设置敏感头部信息。 Cookie/Set-Cookie
sensitiveHeaders: Authorization
path: /api/**
url: http://localhost:8080/
service1:
path: /api2/**
url: http://localhost:8090/
sensitiveHeaders: Authorization
#增加代理的header,防止session丢失
1、@EnableZuulProxy注解,用于引入zuul代理,实现zuul的路由转发功能。
2、@EnableRedisHttpSession,用于指定redis管理session。这里我们指定redisFlushMode为立即刷新模式,防止因为redis刷新缓慢,导致session信息无法获取。
注意要配置sensitiveHeader,默认情况下sensitiveHeaders,包含Cookie/Set-Cookie/Authorization三个头,zuul认为这些头是敏感的,默认不会再路由中携带,所以为 session共享,就一定要放行cookie,只设置Authorization就行,或者指定其它值。
其它模块
在spring boot的主类上开启redis管理session的注解 。@EnableRedisHttpSession
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@SpringBootApplication
@EnableDiscoveryClient
@EnableZuulProxy
@EnableRedisHttpSession
public class ZuulgatewayApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulgatewayApplication.class, args);
}
}
配置redis
#集群-用于部署
redis:
cluster:
nodes: 10.200.15.248:6379
timeout: 2000;
max-redirects: 7
#单机-用于开发
redis:
host: 10.200.15.248
port: 6379
database: 0
jedis:
pool:
max-active: 8
max-wait:
max-idle: 8
min-idle: 0
timeout:
password:
相关推荐
ZuulProxyAutoConfiguration
首先我们看一下zuul的配置类ZuulProxyAutoConfiguration, 这个类有一项工作是初始化Zuul默认
Tomcat
Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能有很大关系的。Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求都需要创
什么是jwt
(json web token)jwt是一生中用来在网络上声明某种身份的令牌(TOKEN),它的特点是紧凑且自包含并且基于JSON,通过一些常用的算法对包含的主体
Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图表化界面。
修改service-hi
1、在pom工程文件引入相应的依赖</
简介
Spring cloud Sleuth主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持zipkin,你只需要在pom文件中引入相应的依赖即可。
1、
简介
在spring cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程git仓库中,在该组
一、JAVA项目中网络接口调用工具
1、HttpClient
它是Apache Jakarta Common下的子项目,用来提供高效、最新的、功能丰富的支持Http协议的客户端编程工具包。
HttpC
在网络请求时,可能会出现异常请求,如果还想在异常情况下使系统可用,那么就需要容错处理。
Spring Cloud Feigh就是通过Fallback实现的,有两种方式:
<