因此,为了学习,我构建了一个国际象棋项目,我选择的架构是一个1.client作为react应用程序,包含所有UI
2.作为express nodeJS的服务器3.第三服务,其是可以下棋的复杂算法。
第三种服务的算法相当繁重,需要0. 5 -2秒的等待时间才能给予出玩家响应。
当我部署我的项目时,我注意到,当一个玩家在玩算法时,他会发送一个请求,要求算法运行,当他等待0.5-2.0秒的响应时,如果另一个玩家发送请求,它会中断先前的请求,只计算新的请求
所以我的问题是,部署这样一个项目的最好方法是什么,这样请求就不会相互干扰?
因此,我尝试在两台不同的计算机上与我的算法进行游戏,并注意到第一个游戏在另一个游戏进行时中断
(我使用算法的socket与客户端通信)
编辑:我应该在每台客户机上本地运行算法,而不是让服务响应多个客户机吗?
1条答案
按热度按时间cbeh67ev1#
如果chess算法是 stateless,则不同的请求不应相互干扰。
注意,棋盘的状态不仅包括棋子的位置,还
您的国际象棋算法是这样工作的吗?或者它必须存储 * 两步棋之间 * 的每局棋的信息,以便计算下一步棋?这将是一个 * 有状态 * 算法,它要求您与服务器进行会话,类似于this question。