consul健康检测

consul健康检查一般有两种方式:

1.手动加一个GET方法的健康检测API

@RestController
public class HealthApi {
    @GetMapping("/health")
    public String health(){
        return "hello consul";
    }
}

然后在配置文件中加上spring.cloud.consul.discovery.health-check-path的路径

spring:
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        health-check-path: /health
  application:
    name: springcloud-consul
server:
  port: 9999

Consul用于检查运行状况端点的间隔默认是10s,每过10秒检测一次

2.加入actuator依赖(推荐使用)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

不需要改spring.cloud.consul.discovery.health-check-path,
默认的就行,默认是/actuator/health

通过健康检测可以看到服务状态是UP,服务已经注册到Consul

Consul健康检查机制主要通过代理来管理系统级和应用级的健康检测。如果健康检查与服务关联,则称其为应用级健康检查;如果与服务无关,则健康检查会监视整个节点的健康状况。健康检查可以在配置文件中定义,也可以在运行时通过HTTP接口进行添加。通过HTTP接口创建的健康检查会在该节点进行持久化。 在Consul中,存在五种不同的健康检查类型。此外,健康检查还可以选择绑定到特定的服务。这样可以确保健康检查的状态只会影响给定服务的健康状态,而不是整个节点。这可以通过在检查配置中添加service_id字段来实现。 默认情况下,一旦健康检查在Consul代理注册成功,其状态会立即设置为“critical”。这是为了防止服务在被确认为健康之前就被注册为“通过”并加入服务池。然而,在某些情况下,可能需要指定健康检查的初始状态。可以通过在检测定义中指定status字段来实现这一点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [consul代理---健康检测](https://blog.csdn.net/weixin_33897722/article/details/89823678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值