我目前正在向浏览器直播体育赛事的比分。目前,这是通过运行一个连续的控制台应用程序(Azure WebJob)来获取数据并将其广播出去实现的。
当前的解决方案非常简单。2个线程。1从数据库中检索并添加到共享集合中(线程之间共享),另一个线程从共享集合中获取数据并广播给订阅者,其频率比检索数据的频率要高得多,因此有2个线程。
这是做(连续广播作业)的最佳方法吗?还是有其他技术可以实现这样的解决方案?
我唯一能想到的是将广播线程从连续循环切换到基于事件的操作,该操作基于新分数可用时触发的触发器。不需要广播重复的分数,所以当用户登录获取当前分数时触发一个事件,然后当有新的/不同的分数可用时触发一个更新事件。