Consul讲解

发现常见的微服务:

Zookeeper

Eureka

Etcd

Consul

  本文主要以consul为主,如果你在大量接触或使用微服务的话,你可能会碰到一个问题?当你创建服务越来越多时,这些服务间的通信就越来越难管理,而且维护代价会越来越高,consul会给你答案!

 

Consul介绍:

  Consul是一个分布式,高可用且支持多数据中心的服务发现,配置和编排工具。Consul支持大规模部署,配置和维护面向服务的体系结构。

  Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置,与其他分布式服务注册与发现的方案比如Airbnb的smartstack等相比,consul的方案更“一站式”,内置了服务注册于发现框架、分布一致性协议实现、健康状态检查、key/value存储、多数据中心方案,不再需要依赖其他工具(比如zookeeper等)。使用起来也比较简单。Consul用Golang实现,因此具有天然可移植性(支持linux、windows、和mac os x);安装包仅包含一个可执行文件,以方便部署,与docker等轻量级容器可无缝配合。

 

Consul主要功能

服务发现

通过dns或http接口是的消费者发现服务,应用程序可以轻松找到所依赖的服务。

健康检查

防止将请求转发不健康的主机

键值存储

可以使用分层键/值存储,比如功能标记、动态配置等。

多数据中心

开箱即用,不需要复杂的配置。这就意味着不用建立抽象的逻辑思维来扩展多个地区。

 

1)  consul agent是consul核心组件,分为client和server两种工作模式。

a)       默认以client模式运行,提供服务注册、健康状态检查、转发查询给server leader

b)       Server模式启动时使用-servesr选项指定,用于维护consul集群状态、raft协议进行选举。

posted @ 2019-07-20 13:28  Wulinux  阅读(745)  评论(0编辑  收藏  举报