NER*_*808 9 azure azure-worker-roles azure-sql-database
我在azure中有一个简单的工作角色,它在SQL azure数据库上进行一些数据处理.工作人员基本上每2分钟将数据从第三方数据源添加到我的数据库.当我有两个角色实例时,这显然会不必要地加倍.我想有2个冗余实例和99.95正常运行时间,但不希望它们同时处理,因为它们只是复制相同的工作.我缺少一个标准模式吗?我知道我可以在数据库中设置标志,但我希望有另一种更简单或更好的方法来管理它.谢谢
正如Mark建议的那样,您可以使用Azure队列发布消息.您可以让worker角色实例将后续消息发布到队列,作为处理当前消息时的最后一项操作.这应该处理马克提出的关于信号量需求的问题.在队列消息中,您可以在处理消息时嵌入时间戳标记.创建新消息时,只需将当前时间添加两分钟即可.
并且......如果不明显:如果工作者角色实例在完成处理之前崩溃并且无法重新发布新的队列消息,那就没问题了.在这种情况下,当前队列消息将简单地重新出现在队列上,然后另一个实例可以自由地处理它.
| 归档时间: |
|
| 查看次数: |
3572 次 |
| 最近记录: |