Consul前置
Eureka(停更),Zookeeper,Consul,Nacos
- 相关module:cloud-providerconsul-payment8006
- 总体与zookeeper差不多,这里用的是本机的windows版Consul
版本说明
- cloud Hoxton.SR1
- boot 2.2.2RELEASE
- cloud alibaba 2.1.0 RELEASE
- java java8
- Maven 3.5以上
- Mysql 5.7以上
Consul
- Consul是一套开源的分布式服务发现和配置管理系统,Go语言开发。提供了微服务系统中的服务治理、配置中心、总线控制等功能。这些功能中每一个都可以根据需要单独使用,也可一起使用,来构件全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。
需熟练掌握
知识点
- Consul能干嘛?
- 服务发现:提供HTTP和DNS两种发现方式;
- 健康检测:支持多种方式,HTTP、TCP、Docker、Shell脚本定制化
- K-V存储:Key、Value的存储方式;
- 多数据中心:Consul支持多数据中心
- 可视化Web界面
tips
-
如何操作Consul?
- 用cmd,进入下载好的consul目录,然后输入consul,可以进行相关操作。
- consul agent -dev是开启consul的命令
- 通过下面地址,可以访问Consul的首页:http://localhost:8500
-
CAP是什么?
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
CAP理论,关注的粒度是数据,而不是整体系统涉及的策略。
目前来说,分布式架构,起码要保证P,即分区容错性。
* CP:只满足一致性和分区容错性 * AP:只满足可用性和分区容错性
三个注册中心的异同点
- 组件名 语言 CA(高可用)P 服务健康检查 对外暴露接口 Spring Cloud集成
- Eureka: JAVA AP(注重服务高可用性) 可配支持 HTTP 已集成
- Consul GO CP(注重数据一致性) 支持 HTTP/DNS 已集成
- Zookeeper JAVA CP (注重数据一致性) 支持 客户端 已集成