【问题标题】:Thin server with application state具有应用程序状态的瘦服务器
【发布时间】:2012-03-05 15:54:54
【问题描述】:

我需要构建一个具有应用程序状态的 Web 服务。我的意思是,Web 服务需要在准备好响应请求之前加载和处理大量数据,因此通常您不会在两个请求之间的应用程序级别保持状态的类似 Rails 的方法看起来不合适。

我想知道一个好的方法是一个守护进程(例如使用Daemon-Kit)嵌入一个像 Thin 这样的简单 Web 服务器。守护进程将加载并处理初始数据。

但我觉得直接使用 Thin 会更好(与 Rack 一起启动)。在这种情况下,我该如何初始化和维护我的应用程序状态?

编辑:每秒将有数千个请求,因此必须从每个文件或数据库中读取应用程序状态效率不高。我需要使用全局变量,我想知道在 Ruby/Thin 环境中初始化和存储的最干净的方法是什么。

【问题讨论】:

  • 您是否希望客户端使用 HTTP 连接到您的服务器?

标签: ruby web-services daemon thin


【解决方案1】:

您可以通过多种方式维护状态。

  • 一个数据库,包括 Memcache 或 Redis 等 NoSQL 数据库
  • 一个文件或多个文件
  • 全局变量或类变量,假设服务器永远不会重新启动/重新加载

【讨论】:

  • 每秒会有数千个请求,因此必须从每个文件或数据库中读取应用程序状态效率不高。我需要使用全局变量,我想知道在 Ruby/Thin 环境中初始化和存储的最干净的方法是什么。
  • 此外,如果您有多个服务器实例,则全局/类变量不起作用,如果您要为这么多请求提供服务,那么您肯定会有。
猜你喜欢
  • 2020-06-02
  • 2012-07-20
  • 2011-02-12
  • 2018-01-13
  • 2018-10-27
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多