TCP服务器和高容量

时间:2014-10-03 15:04:57

标签: spring-integration

我在我当前的项目中使用SI服务器并且对它非常满意。我基本上从示例中直接接受了服务器。沟通应该是请求/响应。我真的没有注意到任何问题,但考虑到潜在的高连接量,我应该以不同方式处理传入连接吗?是否“最好”让轮询器的频道更好地节流,或者这是我应该摆弄的东西吗?

<ip:tcp-connection-factory id="server"
        type="server"
        port="${port}"
        using-nio="true"
        so-tcp-no-delay="true"/>

<ip:tcp-inbound-gateway connection-factory="server"
        request-channel="toSA"
        error-channel="errorChannel"/>

<int:channel id="toSA" 
        datatype="java.lang.String"/>

<int:service-activator input-channel="toSA" 
        ref="Controller" 
        method="handle"/>

<int:transformer id="errorHandler"
        input-channel="errorChannel"
        expression="payload.failedMessage.payload + ':' + payload.cause.message"/>

1 个答案:

答案 0 :(得分:0)

您可以通过限制可用于处理连接和I / O的线程数来间接控制连接和吞吐量。请参阅this question and answer - 请务必阅读所有评论。

另请参阅documentation了解详情。

我不建议尝试使用频道/轮询器来实现此目的。