使用docker-compose的Spring会话演示

我之前已经写过一个令人振奋的新项目,称为Spring-session ,它为基于Java的Web应用程序提供了一种外部化用户会话的干净方法。

我设法使用docker-compose为spring-session进行了良好的演示设置,这展示了该项目的优势,我想在这里写一下。 简而言之,这是运行docker-compose将会弹出的设置:

应用拓扑

启动了使用Spring会话的应用程序的两个实例,这些实例使用相同的redis容器存储会话状态,并依次由nginx服务器进行管理。

调出该拓扑所需要做的就是:

  • 克隆我的仓库在这里
  • 安装docker-compose
  • 生成应用程序–“ mvn软件包-DskipTests” –跳过测试,因为测试取决于本地redis服务器,该服务器可能会或可能不会可用
  • 在克隆的文件夹中运行“ docker-compose up”

就是这样,如果一切都经过了干净的设置,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"

该应用程序本身利用用户会话来维护“购物车”的状态,因为此应用程序配置为使用spring-session,因此该会话将保留在redis数据库中。 nginx背后有两个应用程序实例,其中一个服务器最终将获得请求,但是外部会话状态将继续无缝地工作,而不管应用程序实例如何处理请求。

以下是购物车的视图:

购物车1

会话ID和处理请求的实例的详细信息显示在页面底部。

从下面的屏幕快照中可以看出,即使其他实例处理了请求,会话状态仍将保持干净。

购物车2

翻译自: https://www.javacodegeeks.com/2015/04/spring-session-demonstration-using-docker-compose.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kail利用msf工具对ms11-003漏洞入侵渗透Win7

前言: windows7IE溢出攻击 实验环境: 工具:metasploit 靶机两台:windows 7和kali2020 攻击机IP地址:10.20.29.129 被攻击机IP地址:10.20.29.134 步骤: 1、在kali里面打开metasploit漏洞…

5月5日 百度搜索技巧

1.“”——精确匹配 如果输入的查询词很长,百度在经过分析后,给出的搜索结果中的查询词,可能是拆分的。如果您对这种情况不满意,可以尝试让百度不拆分查询词。给查询词加上双引号,就可以达到这种效果。如:“…

python中升级pip报错_linux系统下pip升级报错的解决方法

Pip 安装1、在python中提供了一个get-pip.py;下面是地址https://bootstrap.pypa.io/get-pip.py2、在Linux下执行curl https://bootstrap.pypa.io/get-pip.py | python进行下载安装这样很方便了 想装什么包就装什么包Pip install xxx注意:升级完python版本注意&…

域名如何设置才能带www和不带www都能正常访问

在自己的域名添加两条解析记录,一个带www,另一个记录不设置即可。然后绑定到正常的站点。

apache shiro_Apache Shiro:简化应用程序安全性

apache shiro考虑到JAVA已有10多年的历史了,需要在其应用程序中内置身份验证和授权的应用程序开发人员的选择数量之低令人震惊。 在JAVA和J2EE中,JAAS规范是一种尝试解决安全性的问题。 尽管JAAS用于身份验证,但授权部分却过于繁琐而无法使用…

微软MS11-050漏洞的利用

微软MS11-050漏洞的利用 0x00 前言0x01 环境搭建1. 虚拟机系统2. 拓扑结构 0x02 利用过程1. 相互ping通2. 启动Metasploit3. 查找和MS11-050相关的模块4. 加载模块5. 设置所使用的payload6. 显示需要配置的选项7. 设置Web服务器的地址,应为BackTrack虚拟机的地址8.…

python中数据类型大小_详细解析Python中的变量的数据类型

变量是只不过保留的内存位置用来存储值。这意味着,当创建一个变量,那么它在内存中保留一些空间。根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中。因此,通过分配不同的数据类型的变量&a…

新版本阿里云网站的云服务器添加安全组规则

新版地址:添加安全规则 新网站界面改动比较大,记录一下这个地址便于下次直接添加安全组规则

Java中多线程的性能比较

Java中有多种用于多线程的技术。 可以通过同步关键字,锁或原子变量来并行化Java中的一段代码。 这篇文章将比较使用synced关键字ReentrantLock,getAndIncrement()以及执行get()和compareAndSet(…

【leetcode】Remove Linked List Elements(easy)

Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val 6Return: 1 --> 2 --> 3 --> 4 --> 5 思路:简单题。 //Definition for singly-linked list.…

微软ms10_018漏洞的利用

微软ms10_018漏洞的利用 0x00 前言0x01 study1. 漏洞利用环境1.1 目标机环境1.2 攻击机环境1.3 拓扑结构 2. ping测试3. exploit3.1 启动Metasploit3.2 查找和MS10-018相关的模块3.3 加载模块3.4 设置PAYLOAD3.5 显示需要配置的选项3.6 设置Web服务器的地址,应为Ba…

【深度】机器学习进化史:从线性模型到神经网络

【深度】机器学习进化史:从线性模型到神经网络 Reza Zadeh是斯坦福大学工程计算和数学研究所顾问教授,也是Databricks公司技术顾问,他主要专注于机器学习理论和应用,分布式计算,以及离散应用数学。近日,他接…

python能不能用c打开文件_C/C++/Python等 使用二进制模式打开文件与不使用二进制模式的区别...

C语言中文本文件与二进制文件的区别 一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。 简单来说,文本文件是基于字符…

微软MS10-046漏洞的利用

微软MS10-046漏洞的利用 0x00 前言0x01 环境1. 目标机环境2. 攻击机环境3. 拓扑结构 0x02 过程1. 相互ping通2. 启动Metasploit3. 查找和MS10-046相关的模块4. 加载模块5. 设置所使用的payload6. 设置文件共享服务器的地址,应为BackTrack虚拟机的地址7. 设置目标主…

修改mysql 外删除用户_mysql添加用户、删除用户、授权、修改密码等

mysql添加用户、删除用户、授权、修改密码等1.新建用户。 //登录MYSQL >mysql -u root -p >密码 //创建用户 mysql> mysql> insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub ject) values("localhost","pppadmin"…

Loadrunner日志设置与查看

Loadrunner日志设置与查看 1.打开EXtended LogLog告诉了我们一切,默认的Log是standard Log,这时远远不够的.我们要extended log,打开路径为runtime settings-->log-->extended log.把parameter substitution和data returned byserver和advanced trace大家根据需要勾选吧.…

使用七牛云对网站进行加速基本配置

看了很多给网站加速的教程,大同小异,觉得还是使用免费的七牛云进行CDN加速,去年使用这个平台给APP加速,效果还不错。 1.打开七牛云存储注册链接:七牛云 注册帐号并且完成系统要求的实名认证要求。一般不需要充钱,冲着免费去的,既可以获得免费的10G流量,一般的小型网站…

java与java ee_Java EE6装饰器:在注入时装饰类

java与java ee软件中常见的设计模式是装饰器模式 。 我们上一堂课,然后在它周围包装另一堂课。 这样,当我们调用类时,我们总是在到达内部类之前通过周围的类。 Java EE 6允许我们通过CDI创建装饰器,作为其AOP功能的一部分。 如果我…

kail利用msf工具对ms10-087漏洞入侵渗透WinXP

1.实验环境: Kali2020:10.20.29.129 Windows 2003:10.20.29.137 两台虚拟机能够相互ping通 2.实验步骤 1, 启动Metasploit 2,查找和MS10-087相关的模块search ms10_087 3,使用exploit/windows/fileformat/ms10_087_rtf_pfragments_bof模…

java gif_使用Java来处理GIF图片

一个2个类,一个是读图片的类GifDecoder,一个是写图片的类AnimatedGifEncoder使用还是挺方便的,下面举个栗子public static void main(String[] args) throws IOException {GifDecoder decoder new GifDecoder();int status decoder.read(&q…