Rest 用于长时间操作的http接口
我有一个正在运行的系统,它使用基于Agatha RRSL的请求-响应接口处理短期和长期运行的操作 现在我们想做一些修改,以便能够通过Json格式的网站发送请求,所以我尝试了许多支持Json的REST服务器实现。 REST服务器是由Topshelf处理的一个模块或“搁置”,另一个模块是处理模块,最后一个模块是NoSQL数据库运行器模块 在REST和处理模块之间,我考虑的是servicebus,但我们有两种类型的请求:在1-2秒内执行工作的短请求和在1分钟内执行工作的长请求 servicebus是这项工作的正确选择吗?我正在考虑为长时间运行的op返回一个“响应”,其中包含一个令牌,该令牌可用于请求新请求的操作状态和结果。问题是,为了完成http响应,大部分请求必须像同步请求一样使用 我想当我必须返回大量对象列表时,我在响应大小(在MSMQ消息传输上)方面也有问题Rest 用于长时间操作的http接口,rest,msmq,nservicebus,Rest,Msmq,Nservicebus,我有一个正在运行的系统,它使用基于Agatha RRSL的请求-响应接口处理短期和长期运行的操作 现在我们想做一些修改,以便能够通过Json格式的网站发送请求,所以我尝试了许多支持Json的REST服务器实现。 REST服务器是由Topshelf处理的一个模块或“搁置”,另一个模块是处理模块,最后一个模块是NoSQL数据库运行器模块 在REST和处理模块之间,我考虑的是servicebus,但我们有两种类型的请求:在1-2秒内执行工作的短请求和在1分钟内执行工作的长请求 servicebus是这
有什么提示吗?NServiceBus并不真正适合于请求-响应消息传递模式。它更适合异步发布-订阅 编辑:为了实现一种请求-响应,您需要在两个方向发送消息,但包含三个逻辑步骤:
此外,NServiceBus使用MSMQ作为底层传输,而不是http 听起来像是HTTP 202的例子。那么你的提示是什么?长时间后返回大量数据(可能1-2MB)的处理模块如何与之对话?这两个模块也不能在同一台服务器上。已在上面扩展了我的答案。MSMQ的最大消息大小为4MB。这是2MB Unicode字符。NServiceBus具有请求/响应语义的内置关联,您可以在AsyncPages示例中看到如何非常轻松地将其集成到ASP.NET管道中。此外,NServiceBus允许您将端点公开为常规web/wcf服务,以便它可以接受来自任何和所有客户端的消息。