Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

服务断联一段时间后无法重新注册

Aperta
#207 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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秒(见后图)

  1. 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"
      }
    }
  }

  1. 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者都无法自动重连。

Image

Image

想法

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dotnetcore/AgileConfig

Tutte le issue di dotnetcore/AgileConfig

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.