四、服务注册与发现Consul
文章目录
- 一、Consul 的介绍
- 二、Consul 的使用
- 2.1 Consul Server安装
- 2.2 微服务注册 Consul
- 三、注册中心的对比
一、Consul 的介绍
Consul
是一套开源的分布式服务发现和配置管理系统,由HashiCorp
公司用Go
语言开发。
Consul
提供了微服务系统中的服务治理、配置中心控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一-起使用以构建全方位的服务网格,总之Consul
提供了一种完整的服务网格解决方案。
consul的作用:
二、Consul 的使用
2.1 Consul Server安装
① 下载Consul
②新建环境变量path
:填入consul
的地址
③启动consul
:consul agent -dev
④访问localhost:8500
2.2 微服务注册 Consul
添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
使用Consul
作为注册中心时的配置:
spring:
application:
name: consul-provider-payment
#consul注册中心地址
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${ spring.application.name}
主启动类添加注解:@EnableDiscoveryClient
启动项目,进入到Consul
主界面,可以看到服务已经注册到Consul
里了:
三、注册中心的对比
CAP
理论的核心是: 一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,因此,根据CAP
原理将NoSQL
数据库分成了满足CA
原则、满足CP
原则和满足AP
原则三大类:
CA
:单点集群,满足一致性, 可用性的系统,通常在可扩展性上不太强大。CP
:满足一 致性,分区容忍必的系统,通常性能不是特别高。AP
:满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
CAP
理论关注粒度是数据,而不是整体系统设计。在分布式系统中P是一定需要的。
Eureka 属于 AP
**ZooKeeper /Consul 属于 CP **
还没有评论,来说两句吧...