Masstransit - RabbitMQ.Client.Exceptions.AlreadyClosedException 在处理重负载时

问题描述 投票:0回答:0

尝试发布 1M 左右的事件时,遇到以下异常。

连接在处理 30k 事件时关闭。

即使我将限制设置为 20,也只有一个频道被创建和使用。是否有可能让它与更多的事件一起工作。

谢谢

"RabbitMQ.Client.Exceptions.AlreadyClosedException: Already closed: AMQP operation was interrupted: AMQP close-reason, initiated by Library, code=0, text='End of stream', classId=0, methodId=0, cause= System.IO.EndOfStreamException: 已到达流的末尾。可能是身份验证失败。 在 RabbitMQ.Client.Impl.InboundFrame.ReadFrom(流阅读器,Byte[] frameHeaderBuffer,ArrayPool

1 pool, UInt32 maxMessageSize)\r\n   at RabbitMQ.Client.Impl.SocketFrameHandler.ReadFrame()\r\n   at RabbitMQ.Client.Framing.Impl.Connection.MainLoopIteration()\r\n   at RabbitMQ.Client.Framing.Impl.Connection.MainLoop()\r\n   at RabbitMQ.Client.Impl.SessionBase.Transmit(OutgoingCommand& cmd)\r\n   at RabbitMQ.Client.Framing.Impl.Model._Private_BasicPublish(String exchange, String routingKey, Boolean mandatory, IBasicProperties basicProperties, ReadOnlyMemory
1 主体) 在 RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange,String routingKey,Boolean mandatory,IBasicProperties basicProperties,ReadOnlyMemory
1 body)\r\n   at MassTransit.RabbitMqTransport.ImmediatePublisher.<>c__DisplayClass4_0.<Publish>b__0() in \/_\/src\/Transports\/MassTransit.RabbitMqTransport\/RabbitMqTransport\/ImmediatePublisher.cs:line 27\r\n   at MassTransit.Util.ChannelExecutor.<>c__DisplayClass11_0.<<Run>g__RunMethod|0>d.MoveNext() in \/_\/src\/MassTransit\/Util\/ChannelExecutor.cs:line 114\r\n--- End of stack trace from previous location ---\r\n   at MassTransit.Util.ChannelExecutor.Future
1.Run()在 //src/MassTransit/Util/ChannelExecutor.cs:line 237 在 /
/src/Transports/MassTransit.RabbitMqTransport/RabbitMqTransport/RabbitMqSendTransportContext.cs 中的 MassTransit.Util.ChannelExecutor.Run[T](Func
1 method, CancellationToken cancellationToken) in \/_\/src\/MassTransit\/Util\/ChannelExecutor.cs:line 128\r\n at MassTransit.RabbitMqTransport.RabbitMqSendTransportContext.Send[T](ModelContext transportContext, SendContext
1 sendContext):第 164 行 在 MassTransit.Transports.SendTransport
1.SendPipe
1.Send(TContext 上下文)在 /_/src/MassTransit/Transports/SendTransport.cs:line 92", "ConnectionId":

我尝试将交换类型更改为主题并将心跳增加到 60。确保交换类型和队列设置。

rabbitmq .net-6.0 masstransit
© www.soinside.com 2019 - 2024. All rights reserved.