开发者社区 > 云原生 > 中间件 > 正文

spring cloud gateway接入sentinel的时候,请问这是什么情况?

"问题1:springcloud gateway接入sentinel的时候,我在测试环境接入sentinel-dashboard,看到有【请求链路】、【API管理】等,如下图:
a5248e5e43d03b7a7c5c6822efe71cc9.png
而在生产环境看到却不是这样的,而是【簇点链路】,如下图:
67668d607b8393603116aad490ac6ac2.png
查看了源码,发现appType=1,11,12的时候展示的是图1的菜单 ,其他情况展示的是图2的菜单,我这边生产环境拿到的appType=0,所有,展示的是图2的菜单,请问这是什么情况?
同样的网关部署包,包是一样的。
问题2:网关集群的时候,每个机器倒是设置好了,但是整体还是 0。
e048a884aba3f5818e60c70f6e87fbfd.png
就是部署了多个实例,我们用的ng 处理的,只是起了多个相同名字实例,流量治理规则配置到了Apollo 。Apollo里面定义的规则的 格式也是 JSON。"

展开
收起
十一0204 2023-11-21 17:41:57 74 0
2 条回答
写回答
取消 提交回答
  • 问题1:

    在 Sentinel 中,菜单的展示方式是根据设置的 AppType 来判断的。根据您提供的信息,生产环境中的 AppType 为 0,而测试环境中的 AppType 为 1、11、12,这可能是导致菜单展示不同的原因。

    AppType 为 1、11、12 时,Sentinel 显示的是【请求链路】、【API管理】等菜单,这些菜单适用于对单个应用实例的监控和管理。而当 AppType 为其他值时,Sentinel 显示的是【簇点链路】菜单,这个菜单适用于对多个应用实例组成的集群进行监控和管理。

    由于您提到测试环境和生产环境的网关部署包是一样的,那么问题可能是在部署时配置的 AppType 值不同。在生产环境中,您可以通过修改 Sentinel 的配置文件或者在代码中进行设置,将 AppType 值设置为 1、11、12 中的任意一个,以显示测试环境中的菜单样式。

    问题2:

    当您说到网关集群的时候,每个机器都设置好了,但是整体还是 0,可能是指整体流量控制和熔断降级等规则没有生效。这可能是由于以下原因导致的:

    1. 版本不一致:确保所有机器的 Spring Cloud Gateway 版本一致,以及 Sentinel 的版本一致。版本不一致可能会导致某些功能无法正常工作。
    2. 网络问题:检查集群机器之间的网络连接是否正常。如果网络连接存在问题,那么集群中的各个节点将无法正确地通信和共享数据。
    3. 配置问题:确保所有机器的配置正确,包括 Spring Cloud Gateway 的配置和 Sentinel 的配置。配置错误可能会导致集群无法正常工作。
    4. Sentinel 控制策略未生效:在 Sentinel 中,您需要正确配置控制策略(如流量控制、熔断降级等)才能生效。请检查您的 Sentinel 配置和规则设置是否正确。
    5. 资源不足:在某些情况下,如果机器资源不足(如 CPU、内存等),可能会导致集群无法正常工作。请检查您的机器资源是否足够。

    建议您逐个排查以上问题,并根据实际情况进行调整和修复。

    2023-11-29 14:18:06
    赞同 展开评论 打赏
  • 意中人就是我呀!

    "回答1:gateway 服务启动参数 加一下 -Dcsp.sentinel.app.type=1
    标记服务的类型
    4ace56d9aad2db92dd03bbb9cd80d863.png
    96ff08b453b76a68d4ee390fd5178749.png
    -Dcsp.sentinel.app.type=1 -Dreactor.netty.http.server.accessLogEnabled=true -javaagent:F:\SpringCloud_Ali\Software\apache-skywalking-apm-bin\agent\skywalking-agent.jar -DSW_AGENT_NAME=api-gateway -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.31.230:11800
    回答2:启动类 硬编码 试试

    System.setProperty(""csp.sentinel.app.type"", ""1"");

    再加上 命令 也指定。
    添加了 -Dcsp.sentinel.app.type=11 后,需要重启sentinel。
    此答案整理至钉群“Sentinel 开源讨论群-4群”"

    2023-11-21 19:32:03
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载