我们的微服务存在问题(可以说是在ls10上运行)。我们在两个不同的主机上运行两个MongoDb实例(将它们分别命名为ld17和ld18)。
仲裁器节点在端口30000上的后端服务(简称为ls18)上运行。
nc
告诉我们端口已打开)。有时我们会在日志中看到以下错误:
Exception in monitor thread while connecting to server ls18:30000
com.mongodb.MongoSocketReadException: Prematurely reached end of stream
at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:92)
at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:554)
at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:425)
at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:289)
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255)
at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:106)
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127)
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
at java.lang.Thread.run(Thread.java:748)
这是随机发生的,没有任何明确的原因,并且显然是由Mongo DB中的Monitor
任务引起的。
我们认为MongoDB上的实际操作没有任何问题,因此对客户没有影响。
不幸的是,由于公司的限制,我不能共享任何代码,但是如果有人对此有一些疑难解答的想法,那就太好了。
非常感谢
最好的塞巴斯蒂安