Springboot實現Session共享及負載均衡
阿新 • • 發佈:2019-01-30
1.準備工作
Redis用來實現Session共享,選擇3.x版本Redis下載點這裡
2.Session共享
pom.xml加入
application.properties加入redis配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1.4.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
建立RedisConfig類######################################################## ### Redis+Session ######################################################## spring.redis.database=0 spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password= spring.redis.pool.max-active=8 spring.redis.pool.max-wait=-1 spring.redis.pool.max-idle=8 spring.redis.pool.min-idle=0 spring.redis.timeout=0 spring.session.store-type=redis
啟動沒報錯的話,redis實現session共享就完成了。import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Configuration; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @Configuration @EnableCaching @EnableRedisHttpSession public class RedisConfig{ }
如果報錯的話,可能是你redis伺服器版本太低,所以建議下載3.x以上。
3.Nginx負載均衡
解壓完開啟conf資料夾,更改nginx.conf配置。注意upstream後的名稱要和proxy_pass配置一樣
upstream test {
server localhost:8080;
server localhost:8081;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
location / {
proxy_pass http://test;
proxy_set_header Host $host:$server_port;
}
4. 執行
在8080埠執行專案,在8081埠執行專案
開啟Nginx.exe
輸入http://localhost,看兩個專案的後臺資訊,可以發現專案被輪詢訪問。