Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。
Spring Cloud即将发布 SpringCloudEdgware
版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家详细阐述在Spring Cloud Edgware中新增的特性。
我们知道,Zuul有一个非常实用的 /routes
端点。访问 $ZUUL_URL/routes
即可查看当前Zuul的路由规则,从而在很多情况下能够帮助我们定位Zuul的问题——当Zuul没有按照我们的计划去转发请求时, /routes
就会很有用,可通过该端点查看Zuul转发的规则。访问结果类似如下:
{
/sample-service/**: "sample-service"
}
// 这段JSON表示:如果请求$ZUUL_URL/sample-service/**,Zuul会将请求转发到注册在Eureka Server上的sample-service服务的/**。
TIPS:使用
routes
端点的前提:
/routes
端点将会返回404;。management.security.enabled=false
,否则将会返回401;也可添加Spring Security的依赖,这样可通过账号、密码访问 routes
端点。/routes
端点相关文档,可详见http://cloud.spring.io/spring-cloud-static/Dalston.SR4/single/spring-cloud.html#_the_routes_endpoint 。
在 SpringCloudEdgware
中,Spring Cloud对该端点进行了增强。我们可通过 /routes?format=detail
来查看更多详情。访问后,将会展示类似如下的结果:
{
"/sample-service/**": {
"id": "sample-service",
"fullPath": "/sample-service/**",
"location": "sample-service",
"path": "/**",
"prefix": "/sample-service",
"retryable": false,
"customSensitiveHeaders": false,
"prefixStripped": true
}
}
有结果可知,此时Zuul为我们展示了很多有用的信息,例如:转发到了那个地址、是否重试等。使用 /routes?format=detail
可进一步简化我们的调试与排错。
本文分享自 A周立SpringCloud 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!