2011-11-20 122 views
1

我想了解如何使用Rails进行“敏捷Web开发”一书中的Ruby on Rails。在书里。我还没有远,但我有这个问题。我一直在从本书中引用“一个用户”的网络应用程序。例如,在书中它说“如果用户点击这个......如果用户输入这个...”等等。Ruby on Rails中的并发

当我有1000个用户时会发生什么?或100000个用户?如何结合使用sqlite(我正在使用)来处理并发性?我是否假设用户是一个用户,并继续构建Web应用程序,并且Ruby会自动处理并发性?

回答

0

Ruby on Rails和其他系统一样工作。每个请求都以串行方式处理,并行处理多个请求,您(通常)使用多个服务器(多个物理/虚拟主机或在一个盒子上多次运行应用程序)。单击一个链接的1000(或100000)用户意味着对串行处理的服务器发出1000(或100000)个请求(与多个服务器上的负载平衡并行)。

对于数据库,您通常不会将Sqlite用于生产Web服务器,而像MySql这样的系统会自行处理请求中的并发(请注意,查询通常是无状态的,因此一旦SQL服务器处理查询,它通常可以丢弃与之相关的状态)