服务断联一段时间后无法重新注册
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- csharp
- Ambito
- backend, distributed-systems
Direzione di ricerca
Inizia tracciando l’heartbeat del servizio, la rimozione del timeout e la gestione della registrazione e della riconnessione sia sul server AgileConfig sia sul client ASP.NET Core. Riproduci il problema mettendo in pausa due servizi registrati per più di 30 secondi, quindi verifica che si riconnettano e che gli elenchi dei client e dei servizi diventino coerenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
前置条件
现有3个服务注册。
agile server配置了超时移除服务;aspnetcore 配置了心跳15秒(见后图)
- aspnetcore服务的配置
"AgileConfig": {
"appId": "app1id",
"secret": "123456",
// "nodes": "http://10.219.25.29:20003",
"nodes": "http://localhost:12000",
"name": "auth",
"tag": "tag1",
"env": "DEV",
"serviceRegister": {
"serviceName": "auth",
//后台扩展赋值
"ip": "",
"port": "",
"heartbeat": {
"interval": "15"
}
}
}
- agile server的配置
"alwaysTrustSsl": true, // If true, the server will ignore SSL errors.
"serviceHealthCheckInterval": 15, // 服务健康检测的间隔时间,单位:秒
"serviceUnhealthInterval": 60, // 判断服务不健康的间隔,超出这个时间没响应过则认为不健康,默认60,单位:秒
"removeServiceInterval": 30, // 如果一个服务超出这个时间没有响应,则直接移除这个服务,单位:秒;如果设定为 <= 0,则不会移除,默认 0 。
操作
当其中2个服务逐个处于调试模式(只要断点暂停就可以触发现象),暂停了超过30秒。
此时从agile面板看。 2个服务都在各自调试超过大约30秒后自动下线了。
但是此后,2者都无法自动重连。
想法
1.从直觉上看,如果启用了服务注册,从agile面板上看客户端以及服务2个菜单的数据应该是一致才对吧。现在断线2个服务后,客户端一直维持3个,服务确只有1个。
2.注册中心应该能支持断线重连行为
3.面板上 服务id和客户端id应该设计为一样
- Lingua principale
- C#
- Stelle
- 1.6k
- Fork
- 324
- Merge medio
- 7h
- PR unite (30g)
- 4
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnetcore/AgileConfig
-
请求补充 websocket 协议文档Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
dotnetcore/AgileConfig#250 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
dotnetcore/AgileConfig#249 · 2 commenti ·
-
Stale branches arm32 / arm64 / mysqlconnector need the self-contained Dockerfile (or retirement)Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
dotnetcore/AgileConfig#244 ·
-
在配置列表显示parent应用的配置Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
dotnetcore/AgileConfig#238 · 3 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
dotnetcore/AgileConfig#233 · 2 commenti ·
Tutte le issue di dotnetcore/AgileConfig
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
microsoft/fluentui-blazor#5364 ·
I maintainer di solito rispondono entro 1 giorno
-
.NET triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
microsoft/agent-framework#8811 ·
I maintainer di solito rispondono entro 1 giorno
-
.NET Docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
getsentry/sentry-dotnet#5637 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
QuantConnect/Lean#9842 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
NethermindEth/nethermind#14012 ·
I maintainer di solito rispondono entro 1 giorno