首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多路复用服务代理消息

多路复用服务代理消息
EN

Stack Overflow用户
提问于 2016-09-10 21:24:39
回答 2查看 69关注 0票数 0

我在SEND语句的文档中注意到,它允许同时在多个会话句柄上发送相同的消息。假设在我的情况下,我想发送给定消息的位置数量很小(少于5个),但我想发送的每条消息都应该发送到所有这些地方。下列各点之间是否有实际区别:

代码语言:javascript
复制
declare @ch1 uniqueidentifier,
    @ch2 uniqueidentifier,
    @ch3 uniqueidentifier,
    @message xml;

-- approach #1
send on conversation (@ch1, @ch2, @ch3)
    message type [foo]
    (@message);

-- approach #2
send on conversation (@ch1)
    message type [foo]
    (@message);

send on conversation (@ch2)
    message type [foo]
    (@message);

send on conversation (@ch3)
    message type [foo]
    (@message);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-11 10:47:23

SEND ON (@h1, @h2, @h3, ... , @hN)将只在sys.transmission_queue中存储消息体一次。相对于SEND ON (@h1)SEND ON (@h2)、.、SEND ON (@hN),它将存储消息体N次。基本上,这才是真正的区别。如果消息体的大小很大,它可能会对perf产生明显的影响。

对于本地交付,当通常不涉及sys.transmission_queue时,将没有显着性差异。

票数 1
EN

Stack Overflow用户

发布于 2016-09-10 23:32:44

我视你的需要而定,因为你说你只有五次转换,你可以双向转换。他们之间没有区别..。但这是个陷阱

  1. 您是要单独检查您的邮件(不管消息是否已发送),还是希望从特定的情况或人员中回滚?
  2. 您想在发送过程中计数还是执行某些操作?

您的第一种方法就像一台机器gun.In小机箱,它不会在服务器上造成压力或数据丢失,但在很大的情况下,我不能给您保证(我的意思是机关枪,服务器做堵塞)。

实例的传输队列中的消息按以下顺序传输:

  1. 其关联会话终结点的优先级级别。
  2. 在优先级级别内,他们在会话中的发送顺序。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39430697

复制
相关文章

相似问题

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