医疗网站女性专题网页设计模板,怎么做广告宣传最有效,游戏推广平台有哪些,石家庄建设网站哪家好docker consul的容器服务更新与发现
服务注册与发现是微服务架构中不可或缺的重要组件#xff0c;起始服务都是单节点的#xff0c;不保障高可用性#xff0c;也不考虑服务的承载压力#xff0c;服务之间调用单纯的通过接口访问的#xff0c;直到后来出现多个节点的分布式…docker consul的容器服务更新与发现
服务注册与发现是微服务架构中不可或缺的重要组件起始服务都是单节点的不保障高可用性也不考虑服务的承载压力服务之间调用单纯的通过接口访问的直到后来出现多个节点的分布式架构起初的解决手段是在在前端负载均衡这样前端必须要知道所有后端服务的网络位置并配置在配置文件中。
为解决后端需要调用后端服务器a-n就需要配置n个服务器的网络位置配置很麻烦
后端服务的网络位置变化都需要每个调用者的配置的问题
可以配置服务器发现模块 什么是consul
consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Rat算法用来保证服务的高可用。内置务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案不再需要依赖其他工具 (比如2ooKeeper等)服务部罢简单只有一个可运行的二进制的包。每个节点都需要运行agent他有两种运行模式server 和 client。每个数据中心官方建议需要3或5个server节点以保证数据安全同时保证server-leader的选举能够正确的进行。
在client模式下所有注册到当前节点的服务会被转发到server节点本身是不持久化这些信息。在server模式下功能和client模式相似唯一不同的是它会把所有的信息持久化到本地这样遇到故障信息是可以被保留的。server-leader是所有server节点的老大它和其它server节点不同的是它需要负责同步注册的信息给其它的server节点同时也要负责各个节点的健康监测。
consul提供的一些关键特性:服务注册与发现: consul通过DNS或者HTTP接口一些外部服使服务注册和服务发现变的很容易务例如saas提供的也可以一样注册。健康检查:健康检测使consu1可以快速的告警在集群中的操作。和服务发现的集成可以防止服务转发到故障的服务上面。Key/Value存储:个用来存储动态配置的系统。提供简单的HTTP接口可以在任何地方操作。多数据中心:无需复杂的配置即可支持任意数量的区域。
总结:consul 服务的自动发现和注册
解决什么问题
如果后端有大规模的服务节点集群负载均衡器配置会很麻烦的问题配置条目数量众多或一个后端服务节点网络位置发生改变需要修改所有使用者配置等问题 registrator把注册信息写入condul再有consul写入nginx的配置文件upstream。
手机发现的信息将所有需要注册的信息持久化本地可以通过server-leader将注册信息同步给其他server节点以及对各个server节点做健康检查。