【发布时间】:2014-04-22 14:29:12
【问题描述】:
我想在 Sinatra 或 Rails 服务器上维护一个数据结构(没关系),所有到达它的 HTTP 请求都可以访问它(即支持并发修改)。我不想依赖数据库或类似的东西,因为这不允许我编写回调来修改此数据结构并将并发块放在 HTTP 响应线程上。
由于 HTTP 是无状态的,显然没有简单的方法来实现这一点。
如何在不依赖外部程序和中间件的情况下,在后台为到达 HTTP 服务器的所有请求创建一个流程来维护数据?是否需要我修改 Rails 或 Sinatra 来实现这一点?除了红宝石还有其他选择吗?
【问题讨论】:
-
如果下一个请求到达拓扑中的不同进程怎么办?还是集群中的另一台机器?
-
没想到这个应用程序在一个集群中,只是一个具有多个线程/进程的服务器。即使在那种情况下,是否有适用于多服务器系统的中间件解决方案?
标签: ruby-on-rails ruby multithreading http sinatra