【问题标题】:Debugging NServiceBus ServiceControl Heartbeat plugin调试 NServiceBus ServiceControl Heartbeat 插件
【发布时间】:2016-03-30 11:41:19
【问题描述】:

我有一个在 Azure 辅助角色上运行的 NServiceBus 端点。我安装了包 ServiceControl.Plugin.Nsb5.Heartbeat。当我直接从 VS 部署到云服务时,我的端点显示在 ServicePulse 中,并且我得到了预期的心跳。

当我完成我们的自动化部署过程时,servicepulse 没有检测到端点,并且我没有收到任何心跳。 (即使您没有安装心跳插件,ServicePulse 也会检测到端点并告诉您该端点没有安装心跳插件)。

当我通过 RD 登录时,我可以在 approot 中看到心跳程序集。我的配置对于两种场景都是相同的,但我将在此处添加以供参考:

在我的配置应用设置中:

<add key="Heartbeat/Interval" value="00:00:01" />
<add key="ServiceControl/Queue" value="xxx.xxx.servicecontrol" />

我的其余配置:

<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />

我的 ServiceControl 实例正在我的本地计算机上运行并监控正确的服务总线。错误队列名称设置为error,就像配置中一样,错误转发队列名称设置为error.log。

当 workerrole 启动并且 NSB 启动时,我可以在日志中找到这个(顺便说一句,这与我在发送心跳的 workerrole 中找到的完全相同):

Name: Heartbeats
Version: 2.0.0
Enabled by Default: Yes
Status: Enabled
Dependencies: None
Startup Tasks: HeartbeatStartup

我完全不知道为什么相同的代码表现不同。它是相同的代码、相同的配置、相同的设置,只是部署方式不同。在比较已部署的程序集时,我无法检测到差异。心跳组件就在那里,看起来 NSB 也在接收它。我只是没有收到来自该特定端点的任何心跳。

知道我可能会错过什么吗?或者我可以尝试解决这个问题?

提前致谢!

【问题讨论】:

    标签: azure nservicebus nsb-servicecontrol


    【解决方案1】:

    事实证明,两个端点都在发送心跳,但 ServicePulse 将它们显示为一个端点。

    在 ServicePulse 中,我可以看到一个端点:Endpoint@MachineA。 MachineA 是我的 CloudService“测试”的工作角色实例的实际机器名称。我可以通过 RD 登录到这个实例并查看 NSB 的日志激活心跳功能。 当我通过我们的自动部署部署到 CloudService“Dev”时,我在 ServicePulse 中没有额外的端点。所以我决定彻底删除 CloudService “Test”。

    当我检查 ServicePulse 时,端点 Endpoint@MachineA 仍然处于启动状态,并且每秒都在接收心跳。我不知道为什么,因为我刚刚使用该特定实例删除了 CloudService “Test”。

    我决定重命名端点,并通过我们的自动化程序部署到 CloudService“Dev”(因此 CloudService“Test”不存在)。那一刻我看到端点 Endpoint@MachineA 挂了,一个新的 EndpointRenamed@MachineX 挂了,接收心跳消息。

    所以从我的两个端点都发送心跳的意义上说,这不是问题。问题在于 ServicePulse 以某种方式认为它们是同一个端点。它们确实具有相同的名称,但它们托管在不同机器上的不同云服务中,应将其转换为 ServicePulse 中的另一个端点。

    希望对某人有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多