目标
实现 HTTP 服务端 & 客户端、MyBatis 执行 SQL 的流控能力。
前置条件
- 已部署 Sentinel 控制台 (Sentinel Dashboard)
- 已部署 Nacos
接入步骤
一、PaaS 平台:独立部署 Token Server
-
进入 权限管理 > 项目管理,进入对应项目,新建服务(名称自定义)
1.1.1创建token服务 -
进入 CI/CD > codeFlow,创建 codeFlow
1.1.2.1创建CodeFlow
1.1.2.2创建CodeFlow2java -jar -Xms512m -Xmx512m \ -Dcsp.sentinel.dashboard.server=sentinel-dashboard.dfbg-infra-arch.paas.test:80 \ -Dproject.name={名称自定义} \ /app/jar/ROOT/sentinel-token-server.jar \ --nacos.serverAddr=nacos-test.paas.test:8848 \ --nacos.namespace=insMall_dev \ --nacos.username=insMall \ --nacos.password=insMall_test \ --token.server.port=18730 \ --token.server.namespaces=microloan-microcredit-test-ff,sentinel-agent-example-
csp.sentinel.dashboard.server:按需指定 Sentinel Dashboard 域名+端口 -
token.server.namespaces:指定提供流控的业务名(逗号分隔)
-
-
进入 服务管理 > 服务,新建服务
1.3.1新建服务管理 codeFlow 执行构建并部署
-
部署完成后获取 Token Server 的 IP
1.5.1查询tokenServerIp+端口
二、PaaS 平台:业务服务添加 JavaAgent
- 进入 CI/CD > codeFlow,编辑目标业务服务
- 添加 JavaAgent 所需 tar 包依赖
- JVM 参数建议显式添加,或采用隐式方式
JAVA_TOOL_OPTIONS
2.1.1添加依赖文件
-
添加 JVM 参数 环境变量
2.2.1添加JVM参数-javaagent:/app/sentinel-agent/sentinel-agent-core.jar \ -Dproject.name=microloan-microcredit-test-ff \ -Dcsp.sentinel.log.dir=/root/logs \ -Dcsp.sentinel.log.file.size=10485760 \ -Dsentinel.app.name=microloan-microcredit-test-ff \ -Dcsp.sentinel.dashboard.server=sentinel-dashboard.dfbg-infra-arch.paas.test:80 \ -Dsentinel.dashboard.username=sentinel2 \ -Dsentinel.dashboard.password=sentinel2 \ -Dsentinel.nacos.serverAddr=nacos-test.paas.test:8848 \ -Dsentinel.nacos.namespace=insMall_dev \ -Dsentinel.nacos.username=insMall \ -Dsentinel.nacos.password=insMall_test \ -Dsentinel.cluster.role=client -
构建、部署,在 Dashboard 验证增添出新应用
2.3.1验证 - Token Server 配置
- 进入 Dashboard > 业务应用名 > 集群配置,点击编辑配置,配置对应Token Server 地址
2.4.1配置tokenServer地址
- 进入 Dashboard > 业务应用名 > 集群配置,点击编辑配置,配置对应Token Server 地址
三、添加流控规则
- 进入 簇点链路,点击目标资源名下的 +流控
- 建议单独添加单机规则
- 集群规则中不勾选「失败退化」(退化单机时会按集群阈值作为单机阈值)
3.1.1添加集群模式规则
3.1.2添加单机模式规则
功能补充说明
- Token Server 是单点,断连时 Client 自动退化到本地限流
- Token Server 需与所有 Token Client 保持 TCP 长连接,内网低延迟很关键
- Token Server 纯内存计数,无持久化,512MB~1GB JVM Heap 通常足够
核心参数详细说明
1. Token Server 启动参数 (独立部署)
此类参数主要用于配置 Token Server 自身的应用标识、Dashboard 连接以及动态规则的 Nacos 数据源。
-
-Dcsp.sentinel.dashboard.server: Sentinel 官方参数。指定 Sentinel Dashboard 的地址 (IP:Port),Token Server 启动后会将自己注册到该 Dashboard 上。 -
-Dproject.name: Sentinel 官方参数。Token Server 自身在 Dashboard 上展示的应用名称。 -
--nacos.serverAddr: 自定义参数。Nacos 服务端地址,Token Server 通过它获取集群限流规则。 -
--nacos.namespace: 自定义参数。Nacos 命名空间 ID,用于环境隔离(如开发、测试、生产)。 -
--nacos.username/--nacos.password: 自定义参数。Nacos 的认证账号密码。 -
--token.server.port: 自定义参数。Token Server 暴露给 Client 连接的 TCP 监听端口(默认18730)。 -
--token.server.namespaces: 自定义参数。指定该 Token Server 托管/提供流控服务的业务应用名称列表(逗号分隔,如microloan-microcredit-test-ff)。Token Server 只会加载这些指定应用的集群限流规则。
2. 业务服务 Java Agent 参数 (Client 端)
此类参数用于业务侧无感接入 Sentinel,配置应用标识、日志、Nacos 规则拉取及集群限流客户端角色。
-
-Dproject.name: Sentinel 官方参数。业务服务的应用名称,用于在 Dashboard 注册及资源监控归类。 -
-Dcsp.sentinel.log.dir: Sentinel 官方参数。Sentinel 核心日志及监控指标(Metrics)的输出目录。 -
-Dcsp.sentinel.log.file.size: Sentinel 官方参数。Sentinel 单个日志文件的大小限制(字节)。 -
-Dsentinel.app.name: Agent 自定义参数。业务应用名称,Agent 内部会将其与project.name同步,并作为 Nacos 规则配置 DataId 的前缀。 -
-Dcsp.sentinel.dashboard.server: Sentinel 官方参数。指定 Dashboard 地址,业务应用借此上报心跳和监控数据。 -
-Dsentinel.dashboard.username/-Dsentinel.dashboard.password: Agent 自定义参数 (AuthHeartbeatSender)。如果 Dashboard 开启了安全认证,用于业务服务向 Dashboard 发送心跳和通信时的鉴权。 -
-Dsentinel.nacos.serverAddr: Agent 自定义参数。Nacos 服务端地址。Agent 识别到此参数后,会自动注册 Nacos 数据源,从 Nacos 动态拉取单机/集群流控规则。 -
-Dsentinel.nacos.namespace/username/password: Agent 自定义参数。Nacos 的命名空间及认证信息。 -
-Dsentinel.cluster.role=client: Agent 自定义参数。指定当前业务节点在集群流控中的角色为client(即 Token Client)。配置后,Agent 会自动初始化ClusterStateManager并连接到对应的 Token Server 以请求集群令牌。










