尚硅谷2020最新版SpringCloud(H版&alibaba)框架开发教程学习三 spring cloud之Consul的使用

尚硅谷周阳老师的课程,还是挺不错的,这是视频地址,https://www.bilibili.com/video/BV18E411x7eT,可以跟着学习,此为个人学习笔记,备后期查看.

简介

SpringCloud的文档地址:
https://cloud.spring.io/spring-cloud-static/spring-cloud-consul/2.2.2.RELEASE/reference/html/
Consul是一个分布式高可用的系统,它有以下特点:
服务发现:Consul客户能够注册一个服务,比如api或mysql,其他客户可以在Consul上查询一个指定服务的提供者。Consul提供DNS和HTTP的服务发现接口。
健康检查:Consul可以灵活的使用脚本等来检测注册在其上的服务是否可用,不健康的服务Consul也能够灵活处理,比如提供服务的主机内存使用超过90%,我们可以配置让Consul不要把这样的服务提供给服务调用者。
key/value存储:这个功能和etcd有些类似,可以通过HTTP API方便地使用。
多数据中心支持:Consul支持开箱即用的多数据中心支持,这意味着用户不用建立额外的抽象层让业务扩展到各个区域。

一. 安装并运行Consul

1. 下载安装

官方地址:https://learn.hashicorp.com/consul/getting-started/install.html
下载地址:https://www.consul.io/downloads.html
根据自己的操作系统下载相应的版本(本机测试使用了windows 64位版)

启动命令-使用开发者模式启动

将下载下来的压缩包解压释放到指定位置,找到解压释放的文件,根据系统情况,执行相应的命令(下面是windows下的执行命令)

consul agent -dev

2. 测试:http://localhost:8500/

在这里插入图片描述

二. 工程模块的修改内容

1. pom.xml添加新依赖

<!--导入consul依赖-->
       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-consul-discovery</artifactId>
       </dependency>

2. yml文件配置

server:
  port: 8006
spring:
  application:
    name: consul-provider-payment
  cloud:
    consul:
      port: 8500
      discovery:
        service-name: ${spring.application.name}

3. 主启动程序实现

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

4. 业务层代码实现

@RestController
@Slf4j
public class PaymentController {
    @Value("${server.port}")
    private  String serverport;
    @RequestMapping(value="/payment/consul")
    public  String paymentConsul(){
        return "springcloud with consul:"+serverport+"\t"+ UUID.randomUUID().toString();
    }
}

5. 查看在Consul上的注册情况

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1. AP架构-Eureka

在这里插入图片描述
在这里插入图片描述

2.CP架构-Zookeeper/Consul

在这里插入图片描述
在这里插入图片描述

发布了11 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/foundtime/article/details/105560957