consul
consul是一套开源的分布式服务发现和 配置管理系统,由Hashi公司用Go语言开发,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格。
优点
基于raft协议,比较间接;
支持健康检查,同时支持HTTP和DNS协议,支持跨数据中心的WAN集群,提供图形界面。
跨平台,支持Linux、Mac、Windows
作用
服务发现: 提供HTTP和DNS两种发现方式
健康监测: 支持多种方式,HTTP、TCP、Docker、Shell脚本定制化
KV存储: key、value的存储方式
多数据中心: consu支持多数据中心
可视化Web界面
环境
consul1.6.1
在consul目录下使用开发者模式,及安装路径下地址栏键入cmd
然后consul --version 查看consul版本
consul agent-dev 开发者模式启动
使用http://localhost:8500进入consul首页
三个注册中心异同点
AP框架
当网络分区出现 后,为了保证可用性,系统B可以返回旧值,保证系统的可用性。
结论: 违背了一致性的要去,只满足可用性和分区容错,即AP。
AP——Eureka,自我保护机制。
CP——
CP架构
当网络分区出现后,为了保证一致性,就必须拒绝请求,否则无法保证一致性。
结论: 违背了可用性A的要求,只满足一致性和分区容错,即CP
zookeeper—— 临时节点,关闭服务之后节点销毁。
consul —— 关闭 服务,节点自动剔除 。