Consul为基础设施提供服务发现和服务配置,它集成了服务发现、健康检查、Key/Value存储、多数据中心等工具,而且很多都是开箱即用的。安装了此程序的客户端可发送api或者mysql服务请求,并通过它找寻提供指定服务的其他客户端。
与Kubernetes集成和扩大。
逾越任何运转时的服务网格
动态负载平衡
平安的多云服务网络
服务发现与正常检阅
供给一个厉害的生态系统
consul作为注册中间和eureka的机制各种。
当微服务启动后起首向注册中间发注册要求,这点二者同样。以后在保护可用服务列表时,采取的是自动向微服务发正常检阅的接口(也能够设置成微服务自动向软件发心跳,可是我看完官网和各种文章都没说清晰详细怎样弄)。若是微服务正常前往,那末就以为服务正常。eureka是期待微服务自动向eureka发心跳,eureka收到心跳后,就给这个服务续约,以为服务是正常的。
恰是由于这点差别就发生了大问题!
场景一:软件和微服务间的网络不稳定,断开了几分钟。
在此环境下,软件向微服务发的正常检阅要求发欠亨,以为微服务挂了,就从服务列内外剔除他。
当网络恢复后,注重,已剔除的服务,软件是不会自动再发正常检阅的。那末服务列内外没有他,
也就不正常了。网关的转发都是需求获得可用服务列表,才干做转发的!
此刻候,你想让微服务注册上软件就只能重启微服务了。这在出产情况意味着甚么就不消多说了吧。
是否是很坑?
场景二:软件由于某种环境需求重启。(多是软件也需求投产,或其他缘由,总之就是需求重启软件)
这个场景和下面的近似。当软件重启后,之前已注册下去的,状况正常的服务,软件遗忘了。
由于他重启了,他不记得宿世的服务列表。
所以这类环境下,也需求重启我们的微服务,才干使状况正常。
综上,由于软件的正常检阅机制是软件自动发,跟eureka各种才致使这类问题。
问题很清晰了,要怎样处理呢?
我查了良多材料,除软件可以用ttl的技巧,让微服务自动发心跳来续约外,仿佛没有想成的方案。
可是这个ttl的方案,官网没细心说,网上的文章也是一大抄,没人说的大白。
我颠末研讨后,发现软件供给了很多多少rest接口。可以经由接口注册,刊出,查询等。
那末我们便可以模仿eureka的技巧,自动查软件的服务列表,近似心跳。
若是没查到,或发欠亨(软件挂了)那末久起头发注册的接口,把本身注册上去。
不断的发,直至成功。
此程序可以进行自动配置,查询service情况渲染配置文件,当环境中新增主机或出现发送故障时,它还会动态更新相关的配置文件。它能够对主机集群的健康状态进行监视,有效避免服务发现组件向不健康的主机发送流量。
上文就是小编为您带来的Consul了,更多精彩软件请多多关注软件爱好者。
在数字时代,智能手机已成为我们日常生活中不可或缺的一部分,而苹果手机更是凭借其卓越的性能和用户体验赢得了众多用户的青睐。然而,随着手机应用的不断增多和数据的积累,了解和管理手机内存变得尤为重要。本文将详细介绍如何在苹果手机上查看内存使用情况,帮助用户更好地管理