Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala/Lift:它需要特殊的http路由吗?_Scala_Lift - Fatal编程技术网

Scala/Lift:它需要特殊的http路由吗?

Scala/Lift:它需要特殊的http路由吗?,scala,lift,Scala,Lift,由于Lift是有状态的,因此对页面/站点的每个后续请求都必须返回到同一服务器。这可能意味着前端负载平衡器需要跟踪哪个客户端正在与哪个服务器通信 在Heroku/Elastic Beanstalk这样的地方,负载平衡器都是由服务自动为您完成的,这是怎么回事?我知道如果你自己设置所有的机器,你可以设置路由来做正确的事情,但是在这些PaaS类型的主机上它是如何工作的,所有这些都是为你做的 编辑:如果我没有弄错的话,Google App Engine也会有同样的限制?Heroku会在动态(进程)之间均匀

由于Lift是有状态的,因此对页面/站点的每个后续请求都必须返回到同一服务器。这可能意味着前端负载平衡器需要跟踪哪个客户端正在与哪个服务器通信

在Heroku/Elastic Beanstalk这样的地方,负载平衡器都是由服务自动为您完成的,这是怎么回事?我知道如果你自己设置所有的机器,你可以设置路由来做正确的事情,但是在这些PaaS类型的主机上它是如何工作的,所有这些都是为你做的


编辑:如果我没有弄错的话,Google App Engine也会有同样的限制?

Heroku会在动态(进程)之间均匀地分配请求,因此我相信对于有状态的Lift应用程序,您必须使用某种形式的会话序列化。我相信Elastic Beanstalk确实有一些设施来支持这一点(就像ELB一样)


大卫·波洛克(David Pollock)写了关于如何以无状态的方式使用电梯的文章,并概括地介绍了该领域的电梯设计

Lift并不是真正打算在纯无状态模式下使用,这是可能的,但它不是框架擅长的地方。ELB确实支持粘性会话,这是在几乎任何环境中成功使用Lift所需的配置

更广泛地说,这种“粘性会话”功能可以通过L4硬件平衡的任一软件实现。您可能会对《行动中的电梯》第15章感兴趣,该章花了大量时间讨论这个主题以及各种会话序列化策略(如果您真的想要的话)