首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过多个How作业有效地使用Servicebus作为通信

如何通过多个How作业有效地使用Servicebus作为通信
EN

Stack Overflow用户
提问于 2016-11-14 12:50:06
回答 1查看 105关注 0票数 0

这更多的是一个架构问题,这可能是允许这样做的边缘情况。如果是不允许的,请告诉我如何更新我的问题

我们有7-8个We作业在运行,它们应该按照特定的顺序处理相同的信息。使用服务总线( servicebus )的首选方法是什么?有最好的做法来使用服务总线吗?

现在我正在做这样的事情:

查看编辑,这已经更改了----数据包来自我们的客户端,经过两个作业,然后被发送到3个作业(并不是所有这些都是必需的,它们都是共享作业。有些包去facebook,有些去FTP,有些两者都去,..只有在完成所有3项任务之后,最后一项任务才能继续进行,因为这是基于3项任务所提供的信息。

我们可以将状态写入数据库,但我们正在专门地切换到servicebus,以便与数据包进行事务处理,在崩溃时有一种简单的恢复方法,等等。

另外,最好的方法是4种不同的服务总线或1路总线(如果可能的话),在那里,我们会用状态字段请求同一个数据包吗?例如,添加一个状态字段"Job1=OK“,而Job2在该字段上有一个订阅,以便它在传递Job1时获得数据包。这将是理想的,它也将模仿流量到服务总线,因为包停留到它的最后。

经过一些搜索,我发现我可以转发消息,但我也可以转发到相同的主题吗?我能给他们添加数据吗?如果我转发一条信息,这在定价中算不算额外的信息?

编辑:将流更新为:

因此,没有必要再等待这3个工作了。一份工作显然不需要等待,而另两份则被合并。

EN

回答 1

Stack Overflow用户

发布于 2016-11-14 13:52:02

我会做一些不同的事情。

  • 为什么不使用不同的队列呢?例如,Step1、Step2、Step3等(当然,您应该做更好的命名)。然后,在web作业中,可以创建处理程序。 ProcessJob1(QueueTrigger("Job1") CloudQueueMessage数据,CancellationToken令牌){ var message = data.AsString;//process //Send job2 }公共静态空洞ProcessJob2(QueueTrigger("Job2") CloudQueueMessage data,CancellationToken令牌){ var message = data.AsString;//process event /Send for next job3 }.
  • 我正在使用存储队列,所以我将在服务总线中立即发送json,您可以要求它反序列化。
  • 将will作业合并到一个will作业并使用缩放,这意味着您将正确地使用资源,因为有些事件可能需要更多的资源,而更少的资源。
  • 如果完成步骤2,就不需要重定向,将多一个事件发送到其他队列,这样web作业就会将其作为新项来获取。

此外,您还可以检查其他方法此链接,但需要重写应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40589204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档