SpringCloud(二)- Consul介紹、安裝、使用



唯能極於情,故能極於劍
有問題或錯誤請及時聯系小編或關注小編公眾號 “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 篇,后續小編會從 “OpenFeignHystrixGateway …...” 等堅持以博客的方式來分享自己對SpringCloud 的理解,並從不同角度和大家分享工作心得,並且含有相關Demo,最終小編會發布到GitHub上,供大家下載、分享、交流、指正,下面是源碼地址:

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

 

有問題或錯誤請及時聯系小編或關注小編公眾號 “CodeCow”,小編一定及時回復和改正 啦

《 合抱之木,生於毫末 》 別急,慢慢來

2020/04/15 午后

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM