唯能极于情,故能极于剑
有问题或错误请及时联系小编或关注小编公众号 “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 午后

最新文章

  1. Linux的概念与体系
  2. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 增加安全性增加内网的电脑才可以调用的限制
  3. [docker] 管理docker容器中的数据
  4. Linux绝技
  5. 14.5.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁
  6. [转载]css hack
  7. CentOS 6用snmp配合MRTG显示系统状态
  8. CentOS上编译安装Git
  9. WebSocket是一种协议
  10. 算法录 之 BFS和DFS
  11. 【iScroll源码学习01】准备阶段 - 叶小钗
  12. Matrix 矩阵
  13. Node.js的安装以及Node.js的模块管理
  14. Android--UI之Button
  15. zabbix模板
  16. Go 实现异常处理机制
  17. MAC上使用Enterprise Architecture,附带安装步骤及破解链接
  18. RocketMQ NameServer
  19. 【读书笔记】iOS-网络-优化请求性能
  20. Windows平台下在服务中添加MySQL

热门文章

  1. “Too many texture interpolators would be used for ForwardBase pass”
  2. 洛谷P3018 [USACO11MAR]树装饰Tree Decoration
  3. C++编程入门题目--No.3
  4. P2620 虫洞
  5. 4)drf序列化组件 Serializer(偏底层)、ModelSerializer(重点)、ListModelSerializer(辅助群改)
  6. 使用 kind 快速搭建 kubernetes 环境
  7. 学习vue第六节,v-if和v-show
  8. 认识mysql3个基本库
  9. python执行脚本报错: Non-ASCII character &#39;\xe4&#39; in file yang.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
  10. calc less 下不起作用