我们正在运行JHipster微服务体系结构,使用领事进行服务发现。我们有一个微服务,它连接到mongodb的一个码头实例。在使用股票角度UI进行测试以保存新实体时,我们发现禁用数据库不会在ui中抛出错误。从领事ui中,我可以看到服务没有通过2项健康检查中的1项,当我重新启用db时,这一检查将再次通过。
在网关日志中,我有以下内容:Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: import
我假设领事拒绝将服务提供给网关,但似乎应该有一
我看过与这个问题有关的类似问题。结果却是很沮丧。
我在码头上安装了领事。我运行以下命令。docker run --name consul -d -p 8500:8500 consul,然后我用postman方法测试了服务注册是否有效,但没有启用健康检查,服务注册成功进入领事web中。目前,一切都如预期的那样工作。,我有一个用go编写的本地GRPC服务。本地服务地址是127.0.0.1:8880。领事服务器的地址是127.0.0.1:8500。然后,该服务被注册到领事,但健康检查没有工作,得到All service failing。然后我尝试了following:Use本地IP地址,即192.1
根据这个博客,是建立在eureka服务发现的基础上,服务发现在哪里工作正常。
但是,当已经切换到使用领事而不是尤里卡时,服务发现就不起作用了,并且得到了这个错误:
java.lang.IllegalStateException: No instances available for ACCOUNTS-SERVICE
at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:79)
at org.springframework.cloud.c
我在领事码头设置中遇到了微服务健康检查方面的问题,我认为这是服务发现失败的一个症状,因为我的注册表中只有一台服务器。
以下是来自码头集装箱内部的领事名单。
/ # consul members
Node Address Status Type Build Protocol DC Segment
7b1edb14a647 172.19.0.6:8301 alive server 1.7.4 2 dc1 <all>
/ #
领事容器日志对所有微服务重复以下相同的错误:
consul | 2020-06-1
我有一个项目使用正式的nginx码头容器从码头集线器,启动通过码头组成。我在Docker中为我的每个容器配置了健康检查,最近对这个nginx容器的健康检查表现得很奇怪;在使用docker-compose up -d启动时,我的所有容器都启动并开始运行健康检查,但是nginx容器看起来从未运行过健康检查。如果我将docker exec放入容器中,我可以手动运行脚本,如果重新启动容器,则健康检查将正常运行。
来自docker ps的示例输出
CONTAINER ID IMAGE COMMAND CREATED
所以我现在运行的是我本地的Kubernetes集群(运行在docker上),来自helm的稳定/领事图表。 $ helm install -n wet-fish --namespace consul stable/consul 这将创建两个服务 ==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wet-fish-c