我正在开发一个爱好项目网站。每个用户最多有几百兆字节的数据存储在我的数据库中。用户可以对数据运行各种类型的统计分析,这将导致图形供用户查看结果。用户将从浏览器执行所有这些操作。
我的问题是如何设置服务器端?需要支持至少几千个并发用户。期望每个用户在会话中对其数据集进行一些查询。显然,我不能只有一个Web服务器。
到目前为止,我正在考虑让Web服务器接收请求,然后Web服务器上的脚本会向执行数字运算的多台计算机的集群发送请求。群集包含主服务器和多个工作服务器。所有请求都来自主人。主控制器监视工作人员并将请求发送给最佳可用工作人员。工作人员捏出数字并将响应发送回Web服务器。然后,Web服务器将数据发送给构建图形的用户。
这个想法有用吗?如果是这样,我将如何创建与主服务器的连接?它的联系信息是什么?是否有良好的负载平衡软件,以便我不必开发主设备?
此外,公司如何做与此类似的事情,或者更确切地说,解决这个问题的最佳方法是什么?我试着查一查,但找不到任何细节。提前谢谢。
答案 0 :(得分:0)
传统上这是使用pub/sub模型完成的。确切的实现取决于您使用的语言/平台,但基本实现是:
这个主题有很多种,比如当请求/响应足够小以适应队列消息本身时,你可以消除中间数据库,但是这在基于Web的轮询模型中变得很难看,因为你需要得到正确的响应回到正确的http响应线程。