唯能极于情,故能极于剑
有问题或错误请及时联系小编或关注小编公众号 “CodeCow”,小编一定及时回复和改正,期待和大家一起学习交流

此文由四部分组成(Consul简介、安装、实操、总结),别着急,慢慢来

一、Consul

1.1、Consul 啥玩意 ?:

  • 官网:Consul 是一种服务网格解决方案,提供具有服务发现,配置中心和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格 …总之,Consul提供了一种完整的服务网格解决方案
  • 自己:Consul 就是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用 Go 语言开发

1.2、Consul 能干嘛 ? :

小编就不多 BB 先来张图 压压惊

可以发现,Consul 这哥们 干掉了 Eureka,你说他能干嘛 ^ _ ^ , 只不过 Consul 是CP(数据一致性)、Eureka 是 AP(高可用性)

看看 Consul 这哥们有啥技能 :

  • KV存储:Key、Value的存储方式
  • 服务发现:提供HTTP/DNS两种发现方式
  • 健康检测:支持多种方式,HTTP、TCP、Docker、shell脚本定制化
  • 多数据中心:Consul支持多数据中心
  • 可视化界面

1.3、Consul 怎么玩 ? :

  • Consul中文网:https://www.springcloud.cc/spring-cloud-consul.html  好男人必备网站,哈哈

不会玩的朋友别着急,看下面小编娓娓道来

二、Consul 安装

1、进入consul官网下载地址:https://www.consul.io/downloads.html

2、根据自己需要下载对应安装包

3、把安装包解压,解压后生成一个 consul.exe 文件

4、在含有consul.exe目录文件夹下(就是第二部解压目录) 输入 cmd ,然后空格,进入命令行模式

5、输入 consul --version 查看当前 Consul版本(正常显示为:Consul v1.x.x)

6、输入 consul agent -dev 启动 Consul

7、进入浏览器,在地址栏输入:localhost:8500 出现下面界面代表成功 ^ _ ^

三、Consul 实操

前两个步骤完事了,不来点 硬核 咋行呢,下面小编就结合实际开发和大家聊聊

1、首先导包

   <!-- 服务注册与发现 consul -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency> <!-- 监控 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency> <!-- web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> 若还有其他需要可自行导包

2、改 YML 配置文件

server:
port: 8006 //端口号 spring:
application:
name: cloud-payment-service //服务名
cloud:
consul:
host: localhost //consul的IP(可以改成自己电脑ip)
port: 8500 //consul启动端口默认8500
discovery:
service-name: ${spring.application.name}
prefer-ip-address: true //不写这个配置,在docker下的consul里面健康检查会失败
healthCheckInterval: 5s //健康检查频率
port: ${server.port} //注册服务所在端口 //================================================================================
//下面根据自己需要添加
datasource:
url: jdbc:mysql://localhost:3306/spring_cloud_2020?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource mybatis-plus:
typeAliasesPackage: top.msxdlb.springcloud.bean.entity //实体扫描,多个package用逗号或者分号分隔

3、添加主启动类

@SpringBootApplication   // springboot 注解
@EnableDiscoveryClient // 作用:能够让注册中心发现,并扫描到该服务
public class ConsulMain8006 { public static void main(String[] args) {
SpringApplication.run(ConsulMain8006.class, args);
}
}

4、启动服务,可以看到 Consul 多出一个 cloud-payment-service 服务

朋友,这顿 SAO 操作 还可以吧,哈哈,加油 ^ _ ^

四、总结

这是 SpringCloud 的 Consul 篇,后续小编会从 “OpenFeign、Hystrix、Gateway …...” 等坚持以博客的方式来分享自己对SpringCloud 的理解,并从不同角度和大家分享工作心得,并且含有相关Demo,最终小编会发布到GitHub上,供大家下载、分享、交流、指正,下面是源码地址:

GitHub:https://github.com/msxdlb/Spring-Cloud-2020

有问题或错误请及时联系小编或关注小编公众号 “CodeCow”,小编一定及时回复和改正 啦

《 合抱之木,生于毫末 》 别急,慢慢来

2020/04/15 午后

SpringCloud(二)- Consul介绍、安装、使用的更多相关文章

  1. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  2. 【转】RHadoop实践系列之二:RHadoop安装与使用

    RHadoop实践系列之二:RHadoop安装与使用 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法, ...

  3. consul的安装配置 一centos7环境

    centos7上consul的安装--新手笔记 环境 我用的是centos7, 用的是vmware 一 安装系统后首先要设置ip ifconfig eth0 →查看IP 不过输出的信息多一些 ifco ...

  4. webpack 介绍 & 安装 & 常用命令

    webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...

  5. webpack学习(一):webpack 介绍&安装&常用命令

    一.简单介绍 什么是Webpack Webpack是一款用户打包前端模块的工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 主要是用来打包在浏览器端使用的ja ...

  6. 代码管理(二)sourcetree 安装与使用

    一 .SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subve ...

  7. 一、Mosquitto 介绍&安装

    一.Mosquitto 介绍 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的 ...

  8. Maven学习总结(二):安装

    一:Maven下载 下载地址:http://maven.apache.org/download.cgi 下载完成后,得到一个压缩包,解压,可以看到maven的组成目录 Maven目录分析 bin:含有 ...

  9. 【一】JMeter的介绍安装和使用

    利用JMeter进行性能测试 一.JMeter介绍二.Jmeter安装三.工作原理四.脚本录制五.运行JMeter进行测试六.JMeter主要组件介绍七.参数化设置八.动态数据关联九.使用插件进行服务 ...

随机推荐

  1. 内蒙古特检院利用物联网/RFID技术提高电梯检测水平

    随着电梯检验工作信息化进程的进一步深入,内蒙古特检院从检验工作中寻找新方法.新手段,为检验员新引入电梯检验手持终端设备,力求提高电梯检验水平,将"电梯安全惠民工程"落到实处. 电梯 ...

  2. python(open 文件)

    一.open 文件 1.open('file','mode')打开一个文件 file 要打开的文件名,需加路径(除非是在当前目录) mode 文件打开的模式 需要手动关闭 close 2.with o ...

  3. muduo网络库源码学习————条件变量

    muduo里的CountDownLatch类实际上是对条件变量condition进行的封装,既可以用于所有子线程等待主线程发起 "起跑" ,也可以用于主线程等待子线程初始化完毕才开 ...

  4. 编译警告:warning: operation on ‘i’ may be undefined

    dest[i++]=src[i]; 这行代码,编译时会遇到警告: warning: operation on ‘i’ may be undefined(对于i变量的操作,有可能是未定义的) 改成 de ...

  5. IOS抓取与反抓取

    目录 IOS抓取基础知识 IOS抓取方式 iOS破解 模拟器 黑雷苹果模拟器 介绍 局限 改机软件 常用改机软件 检测 可更改属性 注入与Hook(越狱下实现作弊) 注入方式 Hook方式 重打包(非 ...

  6. python进程/线程/协程

    一 背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所 ...

  7. Python基础01 集合

    初始化 # python3 # coding = utf-8 mylist = [] for item in range(10): mylist.append(item * 10 + 3) myset ...

  8. Programming Languages_04 Deferred Substitution

    Deferred Substitution 在执行出现with时,利用"substitution",每次with的出现,它都绕着整个body置换.这一方式是由F1WAE到env再到 ...

  9. 常用linux命令学习记录

    批量替换文件中字符串: sed -i "s/ITSApi/icallApi/g" `grep ITSApi -rl icallbiz` 解释: 将icallbiz目录文件中包涵的I ...

  10. 多表同步 ES 的问题

    原始需求 对跨业务域数据提供联查搜索能力. 比如:对退款单提供根据退款单.退款状态.发货状态的联查,其中退款状态和发货状态是跨业务域. 比如:对订单提供根据订单号.订单状态.退款状态的联查,其中订单状 ...