Spring Colud Gateway 与 SpringBoot Tomcat 配置的关系(是个坑哦!)
本文中的 Gateway 是通过 spring-cloud-starter-gateway 来实现的。所以,整个 Gateway 就是一个 SpringBoot 项目。相信大家应该都清楚 SpringBoot 默认使用的是 Tomcat 进行启动的,我们可以通过 application.yml 来对 Tomcat 进行一些相关的配置,如下:server:port: 8080tomcat:# 最大连
·
本文中的 Gateway 是通过 spring-cloud-starter-gateway 来实现的。所以,整个 Gateway 就是一个 SpringBoot 项目。相信大家应该都清楚 SpringBoot 默认使用的是 Tomcat 进行启动的,我们可以通过 application.yml 来对 Tomcat 进行一些相关的配置,如下:
server:
port: 8080
tomcat:
# 最大连接数,设置为0为不限制;如果不设置,则默认 10000
max-connections: 1000
# post提交数据最大大小,设置为0不限制;如果不设置,则默认 2M
max-http-post-size: 0
# 最大线程数,设置为0不限制;如果不设置,则默认 200
max-threads: 800
# 最小线程数,设置为0不限制;如果不设置,则默认 10
min-spare-threads: 150
# 编码方式
uri-encoding: UTF-8
看起来是不是一切都很完美呢?
但是令人沮丧的是,Gateway 并不会按着如上的配置来运行!!!!
问题到底出在哪里呢?为啥 Tomcat 的配置不生效呢?为啥其他微服务(业务相关,例如:订单、用户等等)都没问题呢?
问题其实就出在 Gateway 不是普通的与业务相关的微服务上,让我们来看下 Gateway 的启动日志吧,如下:
通过日志,我们可以清楚的看到 Gateway 其实是用 Netty 来启动的,而不是 Tomcat。让我们再来看下用 Tomcat 启动的微服务日志吧,如下:
更多推荐
已为社区贡献5条内容
所有评论(0)