我们正在尝试在GCP计算引擎上向consul注册一个spring cloud consul应用程序,它可以向consur注册该应用程序,但该应用程序面临两个问题。下面是引导。yaml和服务器。应用程序的yaml,
<代码>应用程序。yaml
server:
port: 10003
spring:
application:
name: hello-service
cloud:
consul:
enabled: true
inetutils:
useOnlySiteLocalInterfaces: true
endpoints:
actuator:
sensitive: false
<代码>引导。yaml
spring:
cloud:
consul:
enabled: true
host: 10.160.0.18
port: 8500
discovery:
prefer-ip-address: true
带有领事的服务:NewService{id='hello-service-10003',name='hello-service',tags=[secure=false],address='consur-app-test.c.name-of-project.internal',meta=null,port=10003,enableTagOverride=null,check=check{script null',interval='10s',ttl='null',http='0http://consul-app-test.c.name-of-project.internal:10003/actuator/health',方法='null',头={},tcp='null',超时='null',deregisterCriticalServiceAfter='null',tlsSkipVerify=null,状态='null',检查=null}
如果你像我一样使用版本2.1.2
:org.springframework.cloud:spring-Cloud-starter-consul-发现:2.1.2。RELEASE
您可以设置:
spring:
cloud:
consul:
host: localhost # consul的地址
port: 8500 # consul 的端口
discovery:
prefer-ip-address: true # // This must be matched
tags: version=1.0
instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}
healthCheckPath: /actuator/health # 服务做健康检查的端口
healthCheckInterval: 15s # 服务健康检查的周期
healthCheckTimeout: 60s # 服务检查是的timeout时长
healthCheckCriticalTimeout: 5m # 服务健康检查失败5分钟后,删除服务
您可以在ConsultDiscoveryProperties中查看源代码:
@ConfigurationProperties("spring.cloud.consul.discovery")
public class ConsulDiscoveryProperties {
……
/** Is service discovery enabled? */
private boolean enabled = true;
/** Alternate server path to invoke for health checking. */
private String healthCheckPath = "/actuator/health";
/** Custom health check url to override default. */
private String healthCheckUrl;
/** How often to perform the health check (e.g. 10s), defaults to 10s. */
private String healthCheckInterval = "10s";
/** Timeout for health check (e.g. 10s). */
private String healthCheckTimeout;
/**
* Timeout to deregister services critical for longer than timeout (e.g. 30m).
* Requires consul version 7.x or higher.
*/
private String healthCheckCriticalTimeout;
……
我在应用程序中做了一些更改。yaml和bootstrap。为我工作的yaml。
应用亚马尔
spring:
application:
name: hello-service
cloud:
consul:
discovery:
instanceId: ${spring.application.name}:${random.value}
health-check-critical-timeout: 3m
prefer-ip-address: true # disable if we want to use google cloud internal DNS
独自创立亚马尔
spring:
cloud:
consul:
enabled: true
host: 10.160.0.18
port: 8500
我试图在GCP中部署一个函数2天,每次都会收到以下错误。 操作错误:代码=13,消息=由于运行状况检查失败,功能部署失败。这通常表示代码生成成功,但在测试执行期间失败。检查日志以确定原因。如果看起来是暂时的,请在几分钟后再次尝试部署。 日志查看器没有对问题给出正确的解释。持续提供以下日志,直到部署失败。 “错误:函数已终止。建议的操作:检查日志以了解终止原因。无法初始化函数。” 现在,有趣的事实是
SOFABoot 为 Spring Boot 的健康检查能力增加了 Readiness Check 的能力。如果你需要使用 SOFA 中间件,那么建议使用 SOFABoot 的健康检查能力的扩展,来更优雅的上线应用实例 引入健康检查扩展 要引入 SOFABoot 的健康检查能力的扩展,只需要引入以下的 Starter 即可: <dependency> <groupId>com.alipay
我对弹性负载均衡器健康检查和亚马逊EC2健康检查有点困惑。 在将运行状况检查添加到自动缩放组中时,会显示: 如果已将一个或多个负载均衡器附加到自动缩放组,并且某个实例未通过负载均衡器运行状况检查,则默认情况下,自动缩放不会替换该实例。 如果启用负载均衡器运行状况检查,而某个实例未通过运行状况检查,则自动缩放将认为该实例不正常并替换它。 因此,如果我不启用ELB健康检查,EC2健康检查将起作用,如果
我在GCP中建立了自己的Elasticsearch集群。群集已启动并运行良好。 集群包含两个客户端节点,我可以使用它们在内部访问并通过运行状况检查http://IP:9200/和
健康检查配置概述。 filter.http.HealthCheck filter.http.HealthCheck proto { "pass_through_mode": "{...}", "endpoint": "...", "cache_time": "{...}" } pass_through_mode (BoolValue, REQUIRED) 指定过滤器是否在传递模式下运
健康检查架构概述。如果为集群配置了健康检查,则会发出相应的统计信息。详见请参考统计相关文档。 HealthCheck HealthCheck.Payload HealthCheck.HttpHealthCheck HealthCheck.TcpHealthCheck HealthCheck.RedisHealthCheck HealthCheck HealthCheck proto { "ti