- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已阅读与此问题相关的类似问题。它以沮丧告终。
docker run --name consul -d -p 8500:8500 consul
,然后我使用postman PUT方法测试了服务的注册是否有效,但没有启用健康检查,该服务在consul web UI中成功注册到consul。现在一切都按预期进行。 127.0.0.1:8880
. consul服务器地址是127.0.0.1:8500
.然后服务注册到consul,但是健康检查没用,得到All service failing
.然后我尝试了以下操作:192.168.0.152:8500
作为领事服务器的地址和192.168.0.152:8880
作为 gprc 服务的地址。不工作。 192.168.0.152:8500
作为领事服务器的地址和127.0.0.1:8880
作为 gprc 服务的地址。不工作。 check := &api.AgentServiceCheck{
HTTP: "http://127.0.0.1:1010/health",
Timeout: "5s",
Interval: "5s",
DeregisterCriticalServiceAfter: "15s",
}
consul members
获取 Node Address Status Type Build Protocol DC Segment
aae2e6ac1ff8 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",
}
向 consul 服务器注册 grpc 服务并启用健康检查的代码如下:
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()
// 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)
if err != nil {
panic(err)
}
// generate health check instance
check := &api.AgentServiceCheck{
GRPC: "127.0.0.1:8880/health",
Timeout: "5s",
Interval: "5s",
DeregisterCriticalServiceAfter: "15s",
}
registration := new(api.AgentServiceRegistration)
registration.Name = global.ServerConfig.Name
registration.ID = global.ServerConfig.Name
registration.Address = "127.0.0.1"
registration.Port = 8880
registration.Tags = []string{"user-srv", "user"}
registration.Check = check
err = client.Agent().ServiceRegister(registration)
if err != nil {
panic(err)
}
err = server.Serve(l)
if err != nil {
panic("failed to start grpc" + err.Error())
}
最佳答案
根据 Consul API ( https://www.consul.io/api-docs/agent/check#grpc ) 的文档,似乎 GRPC
您正在使用的字段
supports the standard gRPC health checking protocol.
HTTP
来选择退出以使用 HTTP 端点进行健康检查。代理服务检查配置中的字段。您可以在文档 (
https://www.consul.io/api-docs/agent/check#http ) 中找到更多相关信息
关于go - 领事健康检查(所有服务检查失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69840140/
我在某处读到有一个 guiding principle将表中的行数限制在 100 万以下。我想知道这是不是真的。对于我拥有的一个项目,我将大致拥有分别包含 10,000 行、40,000 行、160,
我是一个相当新的程序员和经验丰富的运行者,一直在研究 Garmin Health API 并计划制作一个应用程序。我的第一个想法是在完成 10x400 米之后简单地获得平均时间,这是我几乎每个月都会做
for ($i=1; $i query("UPDATE `jpa` SET `war` = $b WHERE `id` = $a"); $mysqli->query("UPDATE `
我使用 Samsung S Health SDK 开发了我的应用程序。我想在我的应用程序中添加 S 健康的步行、运行和骑自行车跟踪。 如何添加这些功能? 最佳答案 我在 readTodayWalkin
到目前为止,我知道 EOF 是一个特殊字符,自动插入到文本文件的末尾以指示其结束。但我现在觉得需要对此进行更多澄清。我在 Google 和 Wikipedia 页面上查看了 EOF,但他们无法回答以下
假设我选择了一个随机来源,例如 CNN。根据关键字自动将抓取的文章分类,或者针对不同的类别抓取网站的各个部分,例如 cnn.com/tech 或/entertainment,这样会更有利吗?第二个选项
我在我的 Spring Boot + Spring Cloud 项目中使用 ConfigServer。我曾经监控端点/health,但由于 ConfigClient 在每个请求中询问 ConfigSe
对 projectname.appspot.com/_ah/health 的请求返回以下错误 { "code": 5, "message": "Method does not exist.",
我想检查我的服务的健康状况,了解每个端点的指标。我的服务调用其他一些服务并接收 Json 代码,我用它制作模板,然后将它发送到 http.ResponseWriter。 我搜索并找到了这个包“gocr
我在 javascript (React.j) 中编写了以下使用 for 循环的函数: getOpponentTeam: function(playerTeamId){ var matches =
我是 codeigniter 的新手,我想通过传递许多条件来选择用户的详细信息。我通过了一些条件,例如: $this->db->where ( 'userprofile.Disability', $
我有一个在 pm2 上运行的 nodejs 应用程序,我需要能够在发生崩溃/重启时发送电子邮件通知。我的想法是监视应用程序的崩溃并从 pm2-health 触发邮件操作。 pm2-health 模块的
我正在尝试使用 Jsoup 库(版本 1.11.3)读取域 - iv4u.health 的 URL 正文,但出现“重定向过多”错误。下面是我正在使用的代码 - public class Example
我是一名优秀的程序员,十分优秀!