Rainbond最佳實踐:Tomcat配置Redis實現Session共享

Rainbond最佳實踐:Tomcat配置Redis實現Session共享html

Rainbond:生產級無服務器PaaS Rainbond是國內首個開源的生產級無服務器PaaS,深度整合基於Kubernetes的容器管理、多類型CI/CD應用構建與交付、多數據中心的資源管理等技術,提供雲原生應用全生命週期解決方案,構建應用與基礎設施、應用之間及基礎設施之間的互聯互通生態體系。 點擊安裝java

爲了使您的應用承受更多的併發,提升應用穩定性,您須要在適當狀況下進行擴容。每一個節點下的Tomcat只存儲來訪問本身的請求時產生的session,爲了解決擴容後session持久化的問題,咱們提供 Java的War包項目使用Tomcat配置Redis實現Session共享 解決方案,將您session儲存在redis中來保證您應用程序穩定性。如圖所示: 輸入圖片說明web

Load Balancing 將請求發送給 container 1 下的 tomcat A ,同時產生 session ,將此 session 持久化到Redis 中。當 Web Server 再次發送請求,若請求到 container 2tomcat A ,此時會在Redis 中找到已存在的 session,即取即用。redis

經過源碼構建,您能夠經過以下兩種方式實現 配置redis實現session共享:docker

使用Webapp-Runner或Jetty-Runner

雲幫使用 webapp-Runner 內嵌的 tomcat 或 jetty-Runner 內嵌的 jetty 實現服務器功能。在您不建立其餘服務器狀況下便可輕鬆將應用部署在雲幫。經過如下步驟可實現 配置redis實現session共享tomcat

  1. 配置Procfile:將以下命令添加到您的Procfile中,並源碼根目錄下添加Procfile。服務器

    web: java -jar ./webapp-runner.jar --port 5000 --session-store redis ./*.war
    • 應用端口8080,平臺默認開啓應用5000端口,爲了端口映射正常:
    • 指定session存儲--session-store redis
  2. 配置webserver:在源碼根目錄下添加webserver文件,寫入現平臺支持webapp-runner版本:session

    webapp-runner-7.0.57.2.jar
    webapp-runner-8.0.18.0-M1.jar
    webapp-runner-8.5.5.2.jar
  3. 雲幫經過源碼建立應用,在建立應用-應用設置選擇已建立的Redis進行依賴關聯。併發

  4. 應用配置redis:將REDIS_URL新增至應用環境變量中,值爲 127.0.0.1:6379app

  5. 重啓應用以適配

爲方便建立應用時依賴,建議提早經過應用市場建立 Redis 應用;若您未在建立時依賴Redis應用,也能夠在應用建立完成後在 應用控制檯-依賴進行Redis應用關聯。關聯後記得重啓應用哦。

使用docker鏡像

雲幫提供使用定製 tomcat 容器來啓動應用的方法。經過如下步驟可實現 配置redis實現session共享

  1. 建立Dockerfile,寫入以下內容:

    • 使用源碼
     

dockerfile FROM goodrainapps/tomcat:7.0.82-jre7-alpine RUN rm /usr/local/tomcat/webapps/ROOT COPY <dir_name> /usr/local/tomcat/webapps/ROOT #<dir_name>爲源碼目錄名稱 EXPOSE 8080

- 使用war包


```dockerfile
FROM goodrainapps/tomcat:7.0.82-jre7-alpine
RUN rm /usr/local/tomcat/webapps/ROOT
COPY <filename>.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
  1. 確認源碼的<dir_name><filename>.war存在,而且與Dockerfile文件存在同一目錄,以此目錄爲根目錄開始建立應用

  2. 建立應用-應用設置選擇已建立的Redis進行依賴關聯。

  3. 應用配置redis:配置變量REDIS_URL到應用環境變量中,值爲 127.0.0.1:6379;配置變量REDIS_SESSION到應用環境變量中,值爲true

  4. 重啓應用以適配

相關文章
相關標籤/搜索