第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

領(lǐng)事健康檢查(所有服務(wù)檢查失敗)

我已閱讀與此問題相關(guān)的類似問題。它以沮喪告終。我用 docker 安裝了領(lǐng)事。我運(yùn)行以下命令。docker run --name consul -d -p 8500:8500 consul,然后我測(cè)試了使用postman PUT方法注冊(cè)服務(wù)是否有效,但沒有啟用健康檢查,服務(wù)在consul web UI中成功注冊(cè)到consul?,F(xiàn)在一切都按預(yù)期工作。我有一個(gè)用 go 編寫的本地 GRPC 服務(wù)。本地服務(wù)地址為127.0.0.1:8880。領(lǐng)事服務(wù)器的地址是127.0.0.1:8500。然后將服務(wù)注冊(cè)到 consul,但健康檢查不起作用,獲取All service failing. 然后我嘗試了以下操作:使用本地 IP 地址192.168.0.152:8500作為 consul 服務(wù)器192.168.0.152:8880的地址和 gprc 服務(wù)的地址。不工作。使用本地 IP 地址192.168.0.152:8500作為 consul 服務(wù)器127.0.0.1:8880的地址和 gprc 服務(wù)的地址。不工作。檢查 HTTP 服務(wù)是否有效。有一個(gè)用 GIN 編寫的本地 Web 服務(wù)。端口為 1010。AgentServiceCheck 如下。上面的方法試過了。不工作。check := &api.AgentServiceCheck{      HTTP:                           "http://127.0.0.1:1010/health",      Timeout:                        "5s",      Interval:                       "5s",      DeregisterCriticalServiceAfter: "15s",   }運(yùn)行consul members得到Node          Address         Status  Type    Build   Protocol  DC   Segmentaae2e6ac1ff8  127.0.0.1:8301  alive   server  1.10.3  2         dc1  <all>更新:在以下配置中更改"127.0.0.1:8880/health"為后,它令人驚訝地工作。"127.0.0.1:8880"不知道為什么。。check := &api.AgentServiceCheck{      GRPC:                           "127.0.0.1:8880",      Timeout:                        "5s",      Interval:                       "5s",      DeregisterCriticalServiceAfter: "10s",   }將 grpc 服務(wù)注冊(cè)到 consul 服務(wù)器并啟用健康檢查的代碼如下:func main() {   IP := flag.String("IP", "127.0.0.1", "IP address")   Port := flag.Int("Port", 8880, "Port")   flag.Parse()   // initialize logger, configuation file and database   initialize.InitLogger()   initialize.InitConfig()   initialize.InitDB()   zap.S().Info(global.ServerConfig)   zap.S().Info("IP: ", *IP)   zap.S().Info("Port: ", *Port)     server := grpc.NewServer()   proto.RegisterUserServer(server, &handler.UserServer{})   l, err := net.Listen("tcp", fmt.Sprintf("%s:%d", *IP, *Port))   if err != nil {      panic("failed to listen" + err.Error())   }   // register health check   grpc_health_v1.RegisterHealthServer(server, health.NewServer())   cfg := api.DefaultConfig()     }
查看完整描述

2 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

根據(jù) Consul API ( https://www.consul.io/api-docs/agent/check#grpcGRPC ) 的文檔,您正在使用的字段似乎

支持標(biāo)準(zhǔn)的 gRPC 健康檢查協(xié)議。

因此,您只需在此處定義 gRPC 端點(diǎn),協(xié)議將處理健康檢查。

HTTP您可以通過在代理服務(wù)檢查配置中定義字段來選擇退出以使用 HTTP 端點(diǎn)進(jìn)行健康檢查。您可以在文檔中找到更多信息(https://www.consul.io/api-docs/agent/check#http


查看完整回答
反對(duì) 回復(fù) 2022-10-10
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

關(guān)于“正確”的代碼有幾個(gè)問題:


consul的地址等于grpc服務(wù)?不是cfg.Address領(lǐng)事Addr嗎?

// get cfg.address from configuration file, in which host is 127.0.0.1 port 8880

   cfg.Address = fmt.Sprintf("%s:%d", global.ServerConfig.ConsulInfo.Host,

      global.ServerConfig.ConsulInfo.Port)

   client, err := api.NewClient(cfg)

為什么正確的代碼顯示GRPC:"127.0.0.1:8880/health",結(jié)論是“在以下配置中將“127.0.0.1:8880/health”更改為“127.0.0.1:8880”后,它出奇地有效。不知道為什么......”。這是不一致的?。。。?/p>


查看完整回答
反對(duì) 回復(fù) 2022-10-10
  • 2 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

了解更多

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)