apache / apache/incubator-seata
并发:ERROR:c.a.nacos.client.config.impl.Limiter,c.a.n.client.config.impl.ClientWorker
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
jar version


AbstractRpcRemotingClient
会定时根据(my-seata-tx-group)检测获取可以用的服务


这里是5秒执行一次
根据dataId获取value

省略中间部分,最终会使用ServerHttpAgent.httpGet

然后问题是Limiter.isLimit进行QPS了;看代码意思是:5/1000毫秒,也就是5/1秒;


如果qps了,会返回-503,然后打印出错误日志;最后会取本地缓存的值

### **疑惑不解的地方:**
正常情况下是没有问题的,
当我并发测试时就会不停的报错误日志,虽然结果不会有影响;但是不太明白会seata的naocs客户端QPS的原因;
前面的5秒定时任务,也应该不会超过这个限制?
每次请求都会实时去nacos中心拉取一次最新的配置吗?(不太好调试去验证这个问题,因为有定时任务不断的妨碍我DEBUG)


Contributor guide
Research direction
Start by tracing the five-second service check from AbstractRpcRemotingClient through the Nacos ClientWorker and ServerHttpAgent.httpGet to Limiter.isLimit. Reproduce the concurrent requests, determine whether each request fetches configuration or uses a cache, and confirm whether the observed -503 logs are expected; document the cause and required behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100