WSO2 API-M:什么是 Synapse 以及为什么它会发出以下错误:I/O 错误:连接重置 java.net.SocketException:连接重置?

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

我们以最少的配置使用 LoadBalancer (HAProxy) 标准部署 WSO2 API-Manager。
仅使用一项资源配置/发布了一个端点,并为其配置了 OAuth2。
日志中充斥着以下错误:

ERROR {org.apache.synapse.transport.passthru.SourceHandler} - I/O error: Connection reset java.net.SocketException: Connection reset
    at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394)
    at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426)
    at org.apache.http.nio.reactor.ssl.SSLIOSession.receiveEncryptedData(SSLIOSession.java:482)
    at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:544)
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:120)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
    at java.base/java.lang.Thread.run(Thread.java:833)

API-M 处于空闲状态(没有请求传递到/通过它(目前(出于测试目的)API-M 部署在单独的服务器上,没有客户端点击它))。
为什么我们会收到这样的错误(尽管我们没有配置与 Synapse 相关的任何内容)? Synapse 到底是什么?

编辑:
事实证明,如果 LoadBalancer (HAProxy) 关闭,则不再出现此类错误...
但为什么?如何缓解/解决这个问题?

wso2 wso2-api-manager
1个回答
0
投票

Synapse 是 WSO2 APIM 使用的底层中介引擎。就您而言,它正在接受传入的请求。由于您有一个面向 APIM 的 LB,因此由于 LB 进行的定期运行状况检查,可能会发生上述错误。您可以通过检查错误日志之间的时间差来确认这一点。如果它具有相同的模式,则意味着某些东西正在定期调用 APIM。

要消除此错误,您可以正确设置运行状况检查以执行正确的 HTTP 请求来检查服务器的运行状况。健康检查详情请参阅此处

© www.soinside.com 2019 - 2024. All rights reserved.