Ibm cloud IBM云代码引擎:有状态应用程序和粘性会话、扩展问题
我在stackoverflow上的第一篇帖子;来吧 我刚刚发现了IBM代码引擎,很高兴尝试它!本周末,我尝试部署了一个docker镜像,但在缩放方面遇到了一些问题。在讨论扩展问题之前,我有一些关于IBM云代码引擎的一般问题,请记住我的交互式应用程序:Ibm cloud IBM云代码引擎:有状态应用程序和粘性会话、扩展问题,ibm-cloud,stateful,ibm-cloud-code-engine,Ibm Cloud,Stateful,Ibm Cloud Code Engine,我在stackoverflow上的第一篇帖子;来吧 我刚刚发现了IBM代码引擎,很高兴尝试它!本周末,我尝试部署了一个docker镜像,但在缩放方面遇到了一些问题。在讨论扩展问题之前,我有一些关于IBM云代码引擎的一般问题,请记住我的交互式应用程序: 有状态应用程序:我要部署的应用程序是有状态的。IBM云代码引擎是否支持开箱即用的有状态应用程序 粘性会话:因为我的应用程序是有状态的,所以目标是让一个用户及其所有相关操作保持在同一个容器中。例如。,如果用户在容器1中并单击执行服务器端代码的按钮,我
容器1
中并单击执行服务器端代码的按钮,我不希望在容器2中执行该代码;它应该在容器1
中。IBM云代码引擎是否支持这种开箱即用
ibmcloud ce app create--ephemeral storage
指定为参数运行时设置
部分指定并发值。它确定一个实例将并行处理多少线程/请求的值。如果该值设置为1,并且您打开了三个浏览器选项卡发送请求,则代码引擎将扩展到(至少)三个实例(例如,当扩展目标为计算容量的70%时,我们将旋转到4)。如果该值设置为100,则一个实例将处理100个并行请求,并且仅当您收到101个请求时才会发生扩展。它与发送这些请求的用户数量无关感谢您的快速回复和明确的澄清;这是有道理的。快速跟进(2),因为我关心应用程序运行时和响应性,如果应用程序状态驻留在一个bucket中。如果最小实例数=0,最大实例数=1,服务器上的应用程序状态是否会以有限的方式工作?(包括使用本地文件系统),即设置实例vCPU和内存以处理估计的请求量。在这样的设置中,可以安全地说所有请求都保留在同一个容器中吗?如果是这样的话,考虑到缩放到0的功能,仍然有一些好处,因此只有在应用程序运行时才需要付费。只有当您的容器目前几乎从未缩小时,才会出现这种情况。如果它向下扩展,则该特定容器将保留一个超时值,但随后将被丢弃。当一个新的请求到达之后,容器将从头开始重新创建,因此将丢失文件系统中的状态信息,因为它将获得一个新的临时文件系统。本教程介绍如何将数据库支持的web应用部署到代码引擎。用户必须进行身份验证,并且该状态存储在会话cookie中。所有其他信息都保存在数据库中。我在运行它时将scale设置为零。为了澄清这一点,我只关心请求期间的状态数据保存(而不是混合请求)。我在一个远程存储桶中有持久性存储,计划是在应用程序加载时(建立连接时)提取状态信息,并在整个会话期间定期保存到该存储桶。因此,状态信息不会丢失,并且将在下次用户会话开始时再次提取(我有身份验证)。如果min-instances=0&max-instances=1,那么所有请求都保留在同一个容器中,文件系统可以使用,并且当有0个请求时,scale=0,这样说安全吗?