Problemas de desarrollo habituales: actualización continua

Pregunta de desarrollo 1: tubería rota

Descripción del problema:

Caused by: java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
	at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
	at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)
	at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1225)
	at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:743)
	at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:696)
	at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:686)
	at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:553)
	at org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:157)
	at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:216)
	at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1149)
	at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:394)
	at org.apache.coyote.Response.action(Response.java:209)
	at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:294)
Caused by: java.io.IOException: Connection reset by peer
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
	at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
	at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)
	at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1225)
	at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:743)
	at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:696)
	at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:686)
	at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:553)
	at org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:157)
	at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:216)
	at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1149)

causas del problema:

Esta excepción es que el cliente lee el tiempo de espera y cierra la conexión. En este momento, cuando el servidor escribe datos en la conexión desconectada del cliente, se produce una excepción de tubería rota. La situación en la que se produce el problema es la operación de listado por lotes de 100 productos y la conexión de front-end se ha desconectado antes de que la interfaz de back-end haya terminado de responder.

Solución:

Utilicé el método de abrir subprocesos múltiples para el procesamiento. Dado que se agotó el tiempo de respuesta, abra algunos subprocesos más para procesar. Depende de la situación. ¡No abuse del subproceso! ! !

Problema de desarrollo dos

Descripción del problema:

causas del problema:

Solución:

Como ingeniero de back-end, debe tener un resumen acumulado de algunas anomalías y errores en su trabajo diario. Primero, después de resumir, no estará perdido cuando se encuentre con el mismo problema la próxima vez, especialmente cuando se conecte , otros colegas Cuando está esperando a que resuelva el problema, no es muy bueno para usted chirriar. En segundo lugar, a menudo se le harán preguntas similares durante la entrevista. Como ingeniero experimentado en reclutamiento social, no puede contratar escuelas La entrevista como su propio estándar, debe tener su propia acumulación de experiencia y estar listo para enfrentar situaciones inciertas en cualquier momento!

Supongo que te gusta

Origin blog.csdn.net/qq_37896194/article/details/115351778
Recomendado
Clasificación