我正在研究Azure SQLDB-并且想法是将消息发送到将与客户端连接的signalR集线器。流量将很低(最多每天大约1000-2000条消息,并且1-2秒延迟很好)
我们不是定期轮询,而是仅在有更新时使用Azure功能来提取数据。我理解AzureDB具有功能限制,并且由于缺乏CLR支持,触发器无法直接调用Azure功能
Azure SQL Database trigger to insert audit info into Azure Table
最佳选择是什么
感谢任何指示和指导
答案 0 :(得分:2)
所以,我想你有一些东西,让我们称之为Client
,它会更新SQL数据库中的数据:
->
Database
Client
所以,你有两个选择:
更改Client -> Database
-> Queue -> Function -> SignalR
以在每次更新数据库时也插入一个队列项。然后您的功能将由队列项触发,并将发送通知。
Client -> Database <- (pulls) Function -> SignalR
使您的函数定期轮询数据库并自行检测更新(计时器触发器)。
{{1}}
听起来你现在已经从客户那里投票了,所以它可能不会变得更糟。但1-2s目标延迟意味着每秒轮询,这可能是昂贵的,具体取决于查询。