文章目录

  • consul简介
    • Consul 的优势:
  • 创建工程consul-client

代码地址: github-spring-cloud地址

consul简介

Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具(比如 ZooKeeper 等)。使用起来也较 为简单。Consul 使用 Go 语言编写,因此具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与 Docker 等轻量级容器可无缝配合。

Consul 的优势:

  • 使用 Raft 算法来保证一致性, 比复杂的 Paxos 算法更直接. 相比较而言, zookeeper 采用的是 Paxos, 而 etcd 使用的则是 Raft。
  • 支持多数据中心,内外网的服务采用不同的端口进行监听。 多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟, 分片等情况等。 zookeeper 和 etcd 均不提供多数据中心功能的支持。
  • 支持健康检查。 etcd 不提供此功能。
  • 支持 http 和 dns 协议接口。 zookeeper 的集成较为复杂, etcd 只支持 http 协议。
  • 官方提供 web 管理界面, etcd 无此功能。

特性

  • 服务发现
  • 健康检查
  • Key/Value 存储
  • 多数据中心

client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群。
server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其它数据中心通讯。 每个数据中心的 server 数量推荐为 3 个或是 5 个。

创建工程consul-client

新增pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>spring-cloud-learn</artifactId><groupId>com.sl.learn.cloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.sl.learn.cloud</groupId><artifactId>consul-client</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>

配置文件application.yml

spring:cloud:consul:host: localhostport: 8500discovery:healthCheckPath: ${management.contextPath}/healthhealthCheckInterval: 15sinstance-id: consul-clientapplication:name: consul-client
server:port: 8056

启动类Application

@SpringBootApplication
@EnableDiscoveryClient
public class ConsulClientApplication {public static void main(String[] args) {SpringApplication.run(ConsulClientApplication.class,args);}
}

访问:http://localhost:8500/ 可以看到服务已经注册了

SpringCloud教程-注册中心(Consul)(SpringCloud版本Greenwich.SR4)相关推荐

  1. SpringCloud——Eureka注册中心搭建

    Eureka原理 eureka来源于古希腊词汇,意为"发现了" eureka分为两部分,Server端和Client端 Register 服务注册 想要参与服务注册发现的实例首先需 ...

  2. 服务注册中心-Consul

    Consul官方文档 ​ 官方文档:https://www.consul.io/docs/intro ​ 中文文档:https://www.springcloud.cc/spring-cloud-co ...

  3. 注册中心Consul

    注册中心Consul 1 Consul介绍 2 安装 3 Consul使用 3.1 Consul集群注册 4 消费 1 Consul介绍 在 Spring Cloud 中,大部分组件都有备选方案,例如 ...

  4. springcloud(十三):注册中心 Consul 使用详解

    原文链接 我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件 ...

  5. SpringCloud - 服务注册中心

    文章目录 1.服务注册中心 2.Eureak服务注册中心 2.1 Eureka服务注册与发现 2.1.1 单机Eurake构建步骤 (1) 创建EurekaServer服务注册中心 (2) Eurek ...

  6. SpringBoot2.1+SpringCloud:注册中心搭建(Eureka)

    一.版本说明: SpringBoot:2.1.6.RELEASE SpringCloud:Greenwich.RELEASE 二.作用及功能说明: 注册中心:是将多个微服务统计进行管理,主要起注册及发 ...

  7. SpringCloud Alibaba-nacos注册中心

    什么是 Nacos?(https://nacos.io) Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量 ...

  8. SpringCloud:注册中心nacos

    一.Nacos简介 Nacos 英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configurat ...

  9. SpringCloud 分布式配置中心Config Hoxton版本

    Spring Cloud Config简介:Spring Cloud Config为分布式系统提供了服务端和客户端用于支持外部配置.使用Config Server可以在所有环境中管理应用程序的外部属性 ...

最新文章

  1. Objective-c——UI基础开发第十二天(相册展示)
  2. python 数据分析基础 day1-初窥内容
  3. 最小二乘法与最大似然函数的区别
  4. TESLA CENTER
  5. ih5长图如何滑动_长图怎么一键截取?这样做很简单
  6. 使用DBUA单一实例如何升级至Oracle数据库12c
  7. c语言变量作为数组长度,为什么在C中不允许将数组的大小作为常量变量但在C中允许?...
  8. android开发 文件分享到应用,Android 实现文件分享功能(共享多个文件)
  9. 阿里云朱照远:视频云2.0,更大规模、更智能、更清晰
  10. java abs在哪个包,Java StrictMath abs()方法
  11. 竞赛程序设计知识要点图谱
  12. 笨方法python3_“笨方法”学Python3,习题 30 。
  13. 如何利用迅雷下载百度云?
  14. latex排版--插入符号数学公式常见问题
  15. 磨刀不误砍柴工,掌握DEVC++的一些实用技巧
  16. 由于授权协议中一个错误,远程计算机中断了会话。请重新跟远程计算机连接;或者跟服务器管理员联系。
  17. javascript成神之路(1):如何编写高质量的js代码
  18. Python编程入门基础学习
  19. 批量往mysql里面插入1000万条数据_绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来...
  20. java计算机毕业设计苗木购销系统源码+数据库+系统+lw文档+mybatis+运行部署

热门文章

  1. java各科成绩排序_java 成绩排序
  2. Python 实现链表和二叉树
  3. Python 网络爬虫笔记3 -- Beautiful Soup库
  4. linux内核杂记(9)-进程调度(4)
  5. PyTorch随笔-0
  6. tensorflow随笔-tf.group
  7. 关于决策树,你一定要知道的知识点!(文末送书)
  8. 【深度学习】重大里程碑!VOLO屠榜CV任务,无需额外数据,首个超越87%的模型...
  9. 【Python基础】GitHub 星标 8.8w+,Python 小白 100 天学习计划,从新手到大师!
  10. AI基础:一文看懂BERT