title: SpringCloud学习笔记三:Consul
date: 2020-04-30 16:14:53
tags:

  • SpringCloud
  • Consul
    categories: SpringCloud
    toc_number: true

功能:

  • Service Discovery:
  • Health Checking
  • KV Store
  • Secure Service Communication
  • Multi Datacenter

官网下载Consul安装包文件,添加目录到系统环境变量,输入以下指令即可运行consul:

  1. consul agent -dev -client=0.0.0.0

访问localhost:8500即可查看服务管理页面

搭建Spring Cloud consul项目

添加依赖

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-consul-config</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-starter-consul-discovery</artifactId>
  8. </dependency>

添加配置

  1. server:
  2. port: 9001
  3. spring:
  4. application:
  5. name: consul-producer
  6. cloud:
  7. consul: # consul服务配置
  8. host: localhost
  9. port: 8500 # consul服务端口号
  10. discovery:
  11. register: true #是否需要注册
  12. instance-id: ${spring.application.name} # 注册实例ID
  13. service-name: ${spring.application.name} # 服务名称
  14. port: ${server.port} # 服务请求端口号
  15. prefer-ip-adress: true # 指定开启IP地址注册
  16. ip-adress: ${spring.cloud.client.ip-adress} # 当前服务的ip地址

其他配置及代码与Eureka一致,启动项目后,查看consul管理页面,即可查看注册的consul-producer服务。

服务发现及调用

consul服务发现与eureka调用discoveryClient一致;服务调用也与Eureka调用restTemplate远程调用一致。另外,consul也集成了ribbon,因此,负载均衡也一致。

源码访