在浪费任何钱之前,我需要更多经验的指导。请看我的情景。
我不想强制每个客户端设置静态IP或开放端口。因此,我认为从服务器向客户端发送数据不是一种选择。我必须为客户提供最合适的方式来从服务器请求数据。
我考虑过设置300个客户端,每隔3到5分钟轮询一次他们可能的数据。每个客户端每天最多可下载5kb数据30次。他们不会每次投票都下载数据。
假设带宽和速度不是问题,我可以获得可升级的专用服务器;
感谢您的时间。
它根本不具有攻击性,每3到5分钟300个客户端(假设它们按时均匀分布)是1.6请求每秒(3分钟)或1个每秒请求(5分钟),这与吞吐量无关。
考虑到您每个客户端只传输(最终)5KB数据,这对硬件来说不是什么大问题,或者会在任何地方造成瓶颈。
如果从服务器推送不在图片中,那么您想要遵循的方法就可以了。
另一种方法是使用“队列”,例如Azure Service Bus中的主题/订阅。这对于这样一个简单的场景来说太过分了,但是,它在服务(服务器)和近乎实时工作的客户端之间提供了“适当的”可靠的异步通道,并且奖励是你将推迟所有超载以保持通信模式到为此目的设计的平台。