标签: message-queue

如何从现实世界中的多个队列中读取?

这是一个理论问题:

当我使用消息队列构建应用程序时,我将需要多个队列支持不同的数据类型以用于不同的目的。假设我有 20 个队列(例如,一个用于创建新用户,一个用于处理新订单,一个用于编辑用户设置等)。

我将使用“最少”1 个 Web 角色和 1 个辅助角色将其部署到 Windows Azure。

如何以正确的方式从所有这 20 个队列中读取数据?这就是我的想法,但我对此几乎没有或没有现实世界的实践经验:

创建一个在辅助角色“main”类中产生 20 个线程的类。让这些线程中的每一个都执行一个方法来轮询不同的队列,并让所有这些线程在每次轮询之间休眠(当然还有增加休眠时间的回退机制)。

这导致有 20 个线程(或 21 个?)和 20 个正在主动轮询的队列,从而导致大量消息浪费(每次轮询空队列时,它都被计为消息)。

你怎么解决这个问题?

message-queue azure azure-storage-queues azure-servicebus-queues

3
推荐指数
1
解决办法
2834
查看次数

在分布式消息队列中实现容错

假设在下图中中间消息队列失败.发件人仍然可以使用其他邮件队列发送邮件.

但是如果消息队列在收到消息后死亡会发生什么.发件人如何知道邮件是否已发送给接收者,以决定是否重新发送不同的邮件队列?

类似的情况如果接收器在消息队列向其发送消息后死亡会发生什么?发件人如何知道接收方是否已满足其预期请求?

在此输入图像描述

distributed fault-tolerance message-queue distributed-system

3
推荐指数
1
解决办法
2376
查看次数

安全使用window.postMessage,是"if(event.source!== window){return;}"好吗?

我想window.addEventListener("message",myOnmessageCallback,false)用来接收来自我window自己的消息.(这就是说我不想让这个myOnmessageCallback函数容易接收来自其他一些来源的恶意消息(我想这可能是其他框架,browserWindows,制表符,父和iframe,对吧?).

因此,我想,如果这避免触及任何东西而不是我window自己.

function myOnmessageCallback(event)
{
  if(event.orign !== window)
  {
  // I assume the message is from not this window here, therefore ignore it.
  return;
  }

  //do some useful stuff with the message received (only from window)
}

这似乎是一种减少myOnmessageCallback回调的好方法,只是处理通过window.postMessage()网页本身发送的消息吗?

PS:对于那些认为我为什么希望这种postMessage onmessage能力降低的人.我希望有一种方法可以在Javascript执行队列中放置一些内容,允许在两者之间处理UI内容.我会使用经典window.setTimeout但这个时间最短,我不想浪费时间.

javascript security postmessage message-queue

3
推荐指数
1
解决办法
3431
查看次数

Timer事件可以体验重入吗?

我正在研究一些可怕的遗留代码,它有一个Timer事件,其中包含一些包含DoEvents调用的冗长代码.简化版看起来像这样:

   Private Sub tmrProcess_Timer()
      'Run some slow processing code here
      DoEvents
      'More slow code here
      DoEvents
      'Lots more slow code and the occasional DoEvents here
      If booComplete Then
         tmrProcess.Enabled = False
      End If
   End Sub
Run Code Online (Sandbox Code Playgroud)

计时器的间隔设置为250,慢速代码可能需要30秒左右才能完成.请注意,表单上有一个按钮,在单击时设置booComplete = True.

鉴于VB6是单线程的并且定时器消息是低优先级的,在DoEvents调用期间可以重新进入Timer事件,或者如果Timer事件当前正在执行,VB6运行时是否会执行Timer事件?

该参考文献有一些相关信息.特别是它声明WM_PAINT消息被组合成单个消息,但没有提到WM_TIMER消息是否被组合.

vb6 timer message-queue

3
推荐指数
1
解决办法
1328
查看次数

mq_send和msgsnd之间的区别

我正在尝试使用C实现一个多线程程序,pthreads并希望在线程之间发送消息。

在网上阅读时,我遇到了两种方法。

一个是posix Queues,它使用的功能,例如和mq_receivemq_send另一种方法msgrcvmsgsnd

我在mq_send中也注意到,我们只能发送字符串,而不能发送自定义的数据结构。有没有一种方法可以使用mq_send或替代函数发送不同的数据结构?

最好使用哪种方法?在哪种情况下最好使用这些功能?

c pthreads message-queue

3
推荐指数
1
解决办法
1340
查看次数

RabbitMQ - 如何联合/镜像消息

我设置了两个节点,A和B.两个节点都安装了RabbitMQ和联合插件.

在Web UI中,我可以在A和B上看到"联邦状态">"状态"正在"运行".

在A上,我创建了一个名为"test1"的队列.

在B上,我可以看到"test1"队列(从A复制).

在A上,我添加了一条消息.

但是,消息不会出现在B上的复制队列中 - 消息保留在A上.

这是我在A和B上使用的政策:

rabbitmqctl set_policy --apply-to exchanges my-queue "test1" \ '{"federation-upstream-set":"all"}'

所以,它是这样的:A(上游) - > B(下游)和B(上游) - > A(下游)

我应该看到复制到A和B的消息吗?我错误配置了方向吗?

message-queue rabbitmq rabbitmq-exchange

3
推荐指数
1
解决办法
4162
查看次数

Java中是否有Kafka Monitoring API?

我正在尝试编写Java代码以获取消费者偏移和滞后我们的kafka集群.是否有Java API来获取此信息?

java message-queue broker apache-kafka

3
推荐指数
1
解决办法
5574
查看次数

消息队列和邮箱之间的区别

在操作系统中,消息队列和邮箱之间有什么区别.

operating-system rtos message-queue

3
推荐指数
2
解决办法
6639
查看次数

TCP(传输控制协议)是否提供最多一次,至少一次或恰好一次的传送

我听说它说过一次提供完全交付几乎是不可能的。同时,据说TCP提供了有保证的交付。如果TCP不提供完全保证的一次传送,那么它将提供最多一次或至少一次

tcp transmission message-queue reliable-message-delivery

3
推荐指数
2
解决办法
838
查看次数

SQS可以为单个帐户扩展到1,000,000个队列吗?

我需要一个消息服务,允许我为每个用户创建一个频道,以便于实时通知.如果我有大约100,000到100万用户,那么为每个用户创建一个SQS队列是否有意义?

根据SQS定价文档,创建100万个队列只需0.40美元,但是我会遇到扩展问题吗?

另外,有没有办法在队列上设置过期日期?如果用户删除了他们的帐户,则他们的队列不再需要存在.

messaging message-queue amazon-sqs amazon-web-services

3
推荐指数
2
解决办法
1710
查看次数