我们已经为一组NServiceBus服务聚集了MSMQ,一切都运行良好,直到它没有.一台服务器上的传出队列开始填满,很快整个系统都挂起了.
更多细节:
我们在服务器N1和N2之间有一个集群MSMQ.其他群集资源只是作为本地(即NServiceBus分发服务器)直接在群集队列上运行的服务.
所有工作进程都位于不同的服务器上,即Services3和Services4.
对于那些不熟悉NServiceBus的人来说,工作会进入由经销商管理的集群工作队列.Service3和Services4上的工作程序应用程序将"我准备工作"消息发送到由同一分发服务器管理的集群控制队列,并且分发服务器通过将一个工作单元发送到工作进程的输入队列来响应.
在某些时候,这个过程可以完全挂起.下面是系统挂起时集群MSMQ实例上的传出队列的图片:

如果我将群集故障转移到另一个节点,就像整个系统在裤子中得到了一些好处.以下是故障转移后不久的同一群集MSMQ实例的图片:

任何人都可以解释这种行为,以及我可以做些什么来避免它,以保持系统平稳运行?
我正在尝试编写一个适用于rabbitMQ绑定的wcf服务.我能够成功创建服务器和客户端,并让客户端通过队列向服务器发送消息.我对2个问题很困惑.
服务一旦关闭,队列就会被删除.有没有办法配置wcf和rabbitMQ,以便队列是持久的?这样,如果我的服务器崩溃,我不必担心丢失数据.
我似乎无法控制队列的名称.当我运行时,rabbitmqctl.bat list_queues我看到队列被调用amq.gen-3IgZD30XvTEQWNRsezSUUA==.有没有办法控制队列的名称?
我有两个进程A和B. A和B有时需要进行通信(双向)以传递信号,消息等.
我已经对Linux中可用的IPC进行了一些基础研究,如信号量,消息队列,dbus等.
现在我是在决定使用哪一个时很困惑,谁能告诉我哪个IPC更适合我的应用?
提前致谢
编辑:阐述应用程序.(这是一个嵌入式应用程序)
过程A将监控温度,速度计算等.过程B将驱动电机,读取传感器值(数字)等.有时我需要将信号发送到过程B告知达到最高温度,所以停止驱动电机.有时需要将从流程A中的传感器读取的数据发送到流程B.像这样,需要在流程中传递数字数据.我在ARM架构中这样做.
我想要异步消息的速度,但仍然有一些流量控制.我怎样才能在Erlang中实现这一目标?
目前,我在我的应用程序中使用EventEmitter2作为消息总线,我真的很喜欢它.
无论如何,现在我需要一个消息总线,它不仅可以在进程中工作,还可以在进程间工作.我理想的候选人会......
我该怎么办没有需要:
任何想法或提示?
PS:如果你可以推荐一款可用的产品,这很好,但是如果你可以指引我自己做一个无服务器的方向,也没关系.
很抱歉问这样一个愚蠢的问题,因为我是unix中的菜鸟.什么是unix命令来查找共享内存和消息队列以及如何杀死它们?
我刚刚看到了三种方法的文档,当我们在工作线程中工作时,它们可用于在 UI 线程中执行一段代码。方法是:
public final void runOnUIThread(Runnable action) - 在 UI 线程上运行指定的操作。如果当前线程是 UI 线程,则立即执行操作。如果当前线程不是UI线程,则将动作发布到UI线程的事件队列中
public boolean post(Runnable action) - 将 Runnable 添加到消息队列中。runnable 将在用户界面线程上运行。
public boolean postDelayed(Runnable action, long delayMillis) - 将 Runnable 添加到消息队列中,在指定的时间后运行。runnable 将在用户界面线程上运行。
第一个将 Runnable 发布到 UI 线程的事件队列,而其他两个将 Runnable 添加到消息队列。请告诉我两者的区别?
我的网络搜索告诉我,事件队列只是等待线程执行的事件队列。我不清楚消息队列。MessageQueue 也是一些类,这与那个有关吗?
先感谢您。
http://netcommon.sourceforge.net/
Common.Logging是具体的"记录器"之上的抽象(例如:log4net,Enterprise Library Logging,NLog)
Message Queue系统有什么可用的吗?(示例:msmq,rabbitmq,DotNetMQ,ZeroMQ等)
我在Azure中创建了一个服务总线队列,它运行良好.如果消息未在默认尝试(10次)内传递,则它正确地将消息移动到死信队列.
现在,我想将此消息从死信队列重新提交回其发起的队列,并查看它是否再次起作用.我尝试过使用服务总线资源管理器.但它会立即转移到死信队列.
有可能做同样的事情,如果是这样的话怎么样?
我正在尝试使用 CLI 创建 FIFO,但出现错误
aws sqs create-queue --queue-name my-queue.fifo --attributes FifoQueue=true --region us-east-1
An error occurred (InvalidAttributeName) when calling the CreateQueue operation: Unknown Attribute FifoQueue.
Run Code Online (Sandbox Code Playgroud)
文档页面说这是一个有效的属性。我错过了什么?
message-queue ×10
ipc ×3
linux ×2
.net ×1
amazon-sqs ×1
android ×1
asynchronous ×1
aws-cli ×1
azure ×1
c# ×1
dbus ×1
erlang ×1
flow-control ×1
interprocess ×1
message ×1
msdtc ×1
msmq ×1
node.js ×1
nservicebus ×1
rabbitmq ×1
semaphore ×1
wcf ×1