gateway要做异步接入(同步转异步),将请求在pre filter发消息到kafka,然后直接响应处理中状态。

然后测试TPS才100出头。里面有两个mysql update和一个kafka消息发送。处理时间也就50ms,不至于这么慢

发现原因在配置:

zuul.debug.request: true
zuul.include-debug-header: false
zuul.okhttp.enabled: true
zuul.semaphore.max-semaphores: 500
zuul.sensitiveHeaders: ""
zuul.host.connect-timeout-millis: 20000
zuul.host.socket-timeout-millis: 20000
zuul.host.max-total-connections: 5000
zuul.host.max-per-route-connections: 5

改成这样:

zuul.debug.request: false

zuul.host.max-per-route-connections: 500

禁用掉debug,然后把routing的connection数量调大后异步接入TPS提升到600。已经可以满足需求

后面还可以禁用掉默认的pre和异步log来优化。

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐