javascript
使用docker-compose的Spring会话演示
我之前已經(jīng)寫過一個令人振奮的新項目,稱為Spring-session ,它為基于Java的Web應用程序提供了一種外部化用戶會話的干凈方法。
我設(shè)法使用docker-compose為spring-session進行了良好的演示設(shè)置,這展示了該項目的優(yōu)勢,我想在這里寫一下。 簡而言之,這是運行docker-compose將會彈出的設(shè)置:
啟動了使用Spring會話的應用程序的兩個實例,這些實例使用相同的redis容器存儲會話狀態(tài),并依次由nginx服務器進行管理。
調(diào)出該拓撲所需要做的就是:
- 克隆我的倉庫在這里
- 安裝docker-compose
- 生成應用程序–“ mvn軟件包-DskipTests” –跳過測試,因為測試取決于本地redis服務器,該服務器可能會或可能不會可用
- 在克隆的文件夾中運行“ docker-compose up”
就是這樣,如果一切都經(jīng)過了干凈的設(shè)置,nginx應該可以在http:// docker-ip url上獲得–在我的mac中,通常為http://192.168.59.103
詳細說明:
Docker-compose是一種工具,可用于將一組Docker容器放到一個一致的堆棧中。 可以聲明性地定義堆棧,以下是此處使用的示例堆棧:
nginx:image: nginxvolumes:- nginx:/etc/nginx:rolinks:- shop1- shop2ports:- "80:80"shop1:build: .hostname: shop1links:- redisports:- "8081:8080"shop2:build: .hostname: shop2links:- redisports:- "8082:8080"redis:image: redishostname: redisports:- "6379:6379"該應用程序本身利用用戶會話來維護“購物車”的狀態(tài),因為此應用程序配置為使用spring-session,因此該會話將保留在redis數(shù)據(jù)庫中。 nginx背后有兩個應用程序?qū)嵗?#xff0c;其中一個服務器最終將獲得請求,但是外部會話狀態(tài)將繼續(xù)無縫地工作,而不管應用程序?qū)嵗绾翁幚碚埱蟆?
以下是購物車的視圖:
會話ID和處理請求的實例的詳細信息顯示在頁面底部。
從下面的屏幕快照中可以看出,即使其他實例處理了請求,會話狀態(tài)仍將保持干凈。
翻譯自: https://www.javacodegeeks.com/2015/04/spring-session-demonstration-using-docker-compose.html
總結(jié)
以上是生活随笔為你收集整理的使用docker-compose的Spring会话演示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu入门
- 下一篇: spring bean配置_在运行时交换