问题描述
我拥有的领事设置:
我有一个由三个节点和一个数据中心组成的 consul 集群。
场景
-
我已经启动了一个 spring 服务,它使用 ngnix 和我的 域名 xxx.mydomain.com 到任一代理启动时。
-
当注册代理节点宕机时,从 consul 注销完整的服务 集群。
-
当使用健康检查端点获取服务健康状态时也没有服务
我在 spring 服务中所做的配置
---
spring:
cloud:
consul:
token: a528cdde-a9fe-8b96-f0e9-xxxxxxxxxx
enabled: true
host: xxx.mydomain.com
port: 6014
scheme: https
retry:
initial-interval: 5000
max-attempts: 6
max-interval: 600000
multiplier: 3
discovery:
instanceId: ${spring.application.name}:${spring.cloud.client.hostname}
preferIpAddress: true
ipAddress: ${spring.cloud.client.hostname}
healthCheckPath: /${spring.application.name}/actuator/health
healthCheckInterval: 20s
port: 8080
catalogServicesWatch:
enabled: false
discovery:
client:
composite-indicator:
enabled: false
profiles: test
---
我添加的spring consul listner
@Configuration
@ConditionalOnConsulEnabled
@ConditionalOnMissingBean(type= "org.springframework.cloud.consul.discovery.ConsulLifecycle")
@AutoConfigureAfter(ConsulAutoServiceRegistrationAutoConfiguration.class)
public class ConsulListener implements ApplicationContextAware {
@Autowired(required=false)
private ConsulAutoServiceRegistration registration;
public void setApplicationContext(ApplicationContext context) throws BeansException {
if (registration != null){
registration.start();
}
}
}
实例上的领事配置
{
"server": true,"node_name": "102","datacenter": "dc_1","data_dir": "C:\\consul\\data","bind_addr": "192.168.X.102","client_addr": "0.0.0.0","advertise_addr": "192.168.X.102","bootstrap_expect": 2,"retry_join": [
"192.168.X.101","192.168.X.102","192.168.X.100"
],"enable_script_checks": true,"ui": true,"log_level": "DEBUG"
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)