SpringCloud Hoxton——Consul服务注册与发现

简介: SpringCloud Hoxton——Consul服务注册与发现

1.开篇



Consul是什么?


Consul是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。

提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。

它具有很多优点。包括:基于 raft 协议,比较简洁;支持健康检查, 同时支持 HTTP DNS 协议支持跨数据中心的 WAN 集群提供图形界面跨平台,支持 LinuxMacWindows


Consul能干嘛?


1.服务发现:提供HTTPDNS两种发现方式

2.健康监测:支持多种方式,HTTPTCPDockerShell脚本定制化监控

3.KV存储:key-value的存储方式

4.多数据中心:Consul支持多数据中心

5.可视化Web界面


使用Consul做服务注册中心了话,需要到它的官网去下载。

链接:https://www.consul.io/downloads


下载完之后,会有一个consul.exe的可执行文件,这就是consul的,双击即可运行。

也可以在当前目录下,cmd,然后 consul --version 查看安装好的consul版本信息。

之后再使用 consul agent -dev 使用开发模式启动consul,启动完成之后,到浏览器中输入http://localhost:8500 即可访问到consul的可视化web界面。


2.项目源码


github源码地址:https://github.com/2656307671/SpringCloud-Hoxton-Consul

gitee源码地址:https://gitee.com/szh-forever-young/SpringCloud-Hoxton-Consul

依次启动服务提供者cloud-providerconsul-payment8006、服务消费者cloud-consumerconsul-order80

之后在浏览器中的consul界面中刷新即可看到我们的微服务信息。

3.三个注册中心的异同点


前两篇文章分别介绍了eurekazookeeper这两个注册中心,再加上这篇是consul注册中心。

eurekahttps://blog.csdn.net/weixin_43823808/article/details/119240420

zookeeperhttps://blog.csdn.net/weixin_43823808/article/details/119273324

下面来看看这三个注册中心有哪些异同点。


最多只能同时较好的满足两个。CAPCConsistency 强一致性,AAvailability 可用性,PPartiton tolerance 分区容错性)


CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:

·       CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。

·       CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。

·       AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

AP架构:当网络分区出现后,为了保证可用性,系统B可以返回旧值,保证系统的可用性。结论:违背了一致性C的要求,只满足可用性和分区容错,即AP

CP架构:当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性结论:违背了可用性A的要求,只满足一致性和分区容错,即CP

相关文章
|
17天前
|
存储 数据可视化 Java
基于MicrometerTracing门面和Zipkin实现集成springcloud2023的服务追踪
Sleuth将会停止维护,Sleuth最新版本也只支持springboot2。作为替代可以使用MicrometerTracing在微服务中作为服务追踪的工具。
61 1
|
1月前
|
消息中间件 存储 Java
SpringCloud基础9——服务异步通信-高级篇
消息可靠性、死信交换机、惰性队列、MQ集群
SpringCloud基础9——服务异步通信-高级篇
|
1月前
|
Java API 对象存储
微服务魔法启动!Spring Cloud与Netflix OSS联手,零基础也能创造服务奇迹!
这段内容介绍了如何使用Spring Cloud和Netflix OSS构建微服务架构。首先,基于Spring Boot创建项目并添加Spring Cloud依赖项。接着配置Eureka服务器实现服务发现,然后创建REST控制器作为API入口。为提高服务稳定性,利用Hystrix实现断路器模式。最后,在启动类中启用Eureka客户端功能。此外,还可集成其他Netflix OSS组件以增强系统功能。通过这些步骤,开发者可以更高效地构建稳定且可扩展的微服务系统。
46 1
|
2月前
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
2月前
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
3月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
427 15
|
2月前
|
存储 Java Spring
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
|
3月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
82 3
|
2月前
|
Java 应用服务中间件 数据库
SpringCloud:服务保护和分布式事务详解
SpringCloud:服务保护和分布式事务详解
118 0
|
2月前
|
缓存 Java Maven
SpringCloud基于Eureka的服务治理架构搭建与测试:从服务提供者到消费者的完整流程
Spring Cloud微服务框架中的Eureka是一个用于服务发现和注册的基础组件,它基于RESTful风格,为微服务架构提供了关键的服务注册与发现功能。以下是对Eureka的详细解析和搭建举例。