2

我正在研究实时应用程序并在Azure上构建它。Microsoft Azure上的实时应用程序

的想法是,每一个用户报告关于自己和所有其他用户应立即看到它的东西(他们轮询每隔秒左右的新的信息服务)

我现在使用的Web角色的方法一个WCF REST服务,我正在做所有的写入数据库(SQL Azure)而没有工作者角色,这样它就会立即写入。

我以为可能使用工作者角色和队列来完成写作可能更具可伸缩性,但可能会干扰服务的实时性。 (工作人员角色可能不会立即从队列中取出工作)

这是真的吗?我该怎么处理这个问题?

感谢

回答

1

虽然这是事实,队列会增加一点延迟,你就可以进行扩展,工作者角色实例的数量来处理消息的绝对数量。

您还可以通过一次获取多条消息来优化队列读取。由于单个队列的可扩展性目标为500 TPS,因此读取时每秒可以读取超过500条消息。

您可能会查看Cache以缓冲最新的用户更新,因此在轮询发生时,您的服务将从缓存而不是SQL Azure读取。随着信息量的增加,这可能会有所帮助。

+0

这可以工作:)谢谢。 – Roman

0

您可以看看SignalR,它不直接支持服务器场场景,但应该能够使用内部端点调用来更新每个实例,使用Azure服务总线,或者使用AppFabric Cache。通过这种方式,您可以获得Push方案而不是Pull方案,因此您不必轮询端点以查找潜在更新。

相关问题