带 Azure 的 MassTransit 3 - 消费者未收到 > 8k 的消息
MassTransit 3 w/ Azure - Consumer not receiving message > 8k
我已经使用 Masstransit 3.1.2 和 Azure 服务总线设置了一个 C# 解决方案,一切似乎都在工作,直到我最近注意到我的订阅者没有收到大于 8k 的消息。我真的没有看到任何错误。如果相同的消息类型低于 8k,我的消息将毫无问题地收到。
经过大量研究,我相当确信这是 MassTransit 而非 Azure 服务总线的限制,因为我可以使用 Azure SDK 直接使用我的消息。
是否缺少我缺少的配置设置?我不想采用设置外部消息数据(如 Mongo)来接收这些消息的方式。我的消息不会超过 64k(我相信这是 Azure 的标准限制)。
使用主机配置器,您可以尝试将 TransportType
更改为 NetTcp(而不是默认的 AMQP)——使用 AMQP 时消息大小可能存在限制,我不知道——但是老实说,我从未见过消息过大的问题,而且我知道我收到过大于 8KB 的消息。
host.TransportType = TransportType.NetMessaging;
Azure 服务总线对所有传输(HTTPS、AMQP、NetMessaging)的每条消息大小限制为 256 kBytes
我已经使用 Masstransit 3.1.2 和 Azure 服务总线设置了一个 C# 解决方案,一切似乎都在工作,直到我最近注意到我的订阅者没有收到大于 8k 的消息。我真的没有看到任何错误。如果相同的消息类型低于 8k,我的消息将毫无问题地收到。
经过大量研究,我相当确信这是 MassTransit 而非 Azure 服务总线的限制,因为我可以使用 Azure SDK 直接使用我的消息。
是否缺少我缺少的配置设置?我不想采用设置外部消息数据(如 Mongo)来接收这些消息的方式。我的消息不会超过 64k(我相信这是 Azure 的标准限制)。
使用主机配置器,您可以尝试将 TransportType
更改为 NetTcp(而不是默认的 AMQP)——使用 AMQP 时消息大小可能存在限制,我不知道——但是老实说,我从未见过消息过大的问题,而且我知道我收到过大于 8KB 的消息。
host.TransportType = TransportType.NetMessaging;
Azure 服务总线对所有传输(HTTPS、AMQP、NetMessaging)的每条消息大小限制为 256 kBytes