本篇文章為大家展示了Tomcat中怎么通過配置redis共享Session,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)專注于新河網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供新河營銷型網(wǎng)站建設(shè),新河網(wǎng)站制作、新河網(wǎng)頁設(shè)計(jì)、新河網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造新河網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供新河網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
Rainbond:生產(chǎn)級無服務(wù)器PaaS Rainbond是國內(nèi)首個(gè)開源的生產(chǎn)級無服務(wù)器PaaS,深度整合基于Kubernetes的容器管理、多類型CI/CD應(yīng)用構(gòu)建與交付、多數(shù)據(jù)中心的資源管理等技術(shù),提供云原生應(yīng)用全生命周期解決方案,構(gòu)建應(yīng)用與基礎(chǔ)設(shè)施、應(yīng)用之間及基礎(chǔ)設(shè)施之間的互聯(lián)互通生態(tài)體系。
為了使您的應(yīng)用承受更多的并發(fā),提高應(yīng)用穩(wěn)定性,您需要在適當(dāng)情況下進(jìn)行擴(kuò)容。每個(gè)節(jié)點(diǎn)下的Tomcat只存儲來訪問自己的請求時(shí)產(chǎn)生的session,為了解決擴(kuò)容后session持久化的問題,我們提供 Java的War包項(xiàng)目使用Tomcat配置Redis實(shí)現(xiàn)Session共享解決方案,將您session儲存在redis中來保證您應(yīng)用程序穩(wěn)定性。如圖所示:
若 Load Balancing將請求發(fā)送給 container 1下的 tomcat A,同時(shí)產(chǎn)生 session,將此 session持久化到Redis中。當(dāng) Web Server再次發(fā)送請求,若請求到 container 2的 tomcat A,此時(shí)會在Redis中找到已存在的 session,即取即用。
通過源碼構(gòu)建,您可以通過如下兩種方式實(shí)現(xiàn) 配置redis實(shí)現(xiàn)session共享:
云幫使用 webapp-Runner 內(nèi)嵌的 tomcat 或 jetty-Runner 內(nèi)嵌的 jetty 實(shí)現(xiàn)服務(wù)器功能。在您不創(chuàng)建其他服務(wù)器情況下即可輕松將應(yīng)用部署在云幫。通過以下步驟可實(shí)現(xiàn) 配置redis實(shí)現(xiàn)session共享。
配置Procfile:將如下命令添加到您的Procfile中,并源碼根目錄下添加Procfile。
web: java -jar ./webapp-runner.jar --port 5000 --session-store redis ./*.war
在Procfile中指定端口--port 5000
在應(yīng)用控制臺-端口設(shè)置8080端口
應(yīng)用端口8080,平臺默認(rèn)開啟應(yīng)用5000端口,為了端口映射正常:
指定session存儲--session-store redis
配置webserver:在源碼根目錄下添加webserver文件,寫入現(xiàn)平臺支持webapp-runner版本:
webapp-runner-7.0.57.2.jar
webapp-runner-8.0.18.0-M1.jar
webapp-runner-8.5.5.2.jar
云幫通過源碼創(chuàng)建應(yīng)用,在創(chuàng)建應(yīng)用-應(yīng)用設(shè)置選擇已創(chuàng)建的Redis進(jìn)行依賴關(guān)聯(lián)。
應(yīng)用配置redis:將REDIS_URL
新增至應(yīng)用環(huán)境變量中,值為 127.0.0.1:6379
。
重啟應(yīng)用以適配
為方便創(chuàng)建應(yīng)用時(shí)依賴,建議提前通過應(yīng)用市場創(chuàng)建 Redis 應(yīng)用;若您未在創(chuàng)建時(shí)依賴Redis應(yīng)用,也可以在應(yīng)用創(chuàng)建完成后在 應(yīng)用控制臺-依賴進(jìn)行Redis應(yīng)用關(guān)聯(lián)。關(guān)聯(lián)后記得重啟應(yīng)用哦。
云幫提供使用定制 tomcat 容器來啟動(dòng)應(yīng)用的方法。通過以下步驟可實(shí)現(xiàn) 配置redis實(shí)現(xiàn)session共享。
創(chuàng)建Dockerfile,寫入如下內(nèi)容:
使用源碼
dockerfile FROM goodrainapps/tomcat:7.0.82-jre7-alpine RUN rm /usr/local/tomcat/webapps/ROOT COPY
- 使用war包 ```dockerfile FROM goodrainapps/tomcat:7.0.82-jre7-alpine RUN rm /usr/local/tomcat/webapps/ROOT COPY.war /usr/local/tomcat/webapps/ROOT.war EXPOSE 8080
確認(rèn)源碼的
或
存在,并且與Dockerfile文件存在同一目錄,以此目錄為根目錄開始創(chuàng)建應(yīng)用。
在創(chuàng)建應(yīng)用-應(yīng)用設(shè)置選擇已創(chuàng)建的Redis進(jìn)行依賴關(guān)聯(lián)。
應(yīng)用配置redis:配置變量REDIS_URL
到應(yīng)用環(huán)境變量中,值為 127.0.0.1:6379
;配置變量REDIS_SESSION
到應(yīng)用環(huán)境變量中,值為true
。
重啟應(yīng)用以適配
上述內(nèi)容就是Tomcat中怎么通過配置Redis共享Session,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。