转:https://blog.csdn.net/forezp/article/details/70245644

这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。

一、consul 简介

consul 具有以下性质:

1、服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。
2、服务健康监测
3、key/value 存储
4、多数据中心

consul可运行在mac windows linux 等机器上。

二、consul安装

linux

$ mkdir -p $GOPATH/src/github.com/hashicorp && cd $!
$ git clone https://github.com/hashicorp/consul.git
$ cd consul
$ make bootstrap
$ make bootstrap

windows下安装:
见consul怎么在windows下安装:https://blog.csdn.net/forezp/article/details/70188595

三、构建工程

构建一个consul-miya的springboot工程,导入依赖pring-cloud-starter-consul-discovery,其依赖文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.forezp</groupId><artifactId>consul-miya</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>consul-miya</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

在其入口文件ConsulMiyaApplication加入注解@EnableDiscoveryClient,开启服务发现:

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class ConsulMiyaApplication {@RequestMapping("/hi")public String home() {return "hi ,i'm miya";}public static void main(String[] args) {new SpringApplicationBuilder(ConsulMiyaApplication.class).web(true).run(args);}
}

在其配置文件application.yml指定consul服务的端口为8500:

spring:cloud:consul:host: localhostport: 8500discovery:healthCheckPath: ${management.contextPath}/healthhealthCheckInterval: 15sinstance-id: consul-miyaapplication:name: consul-miya
server:port: 8502

启动工程,访问localhost:8500,可以发现consul-miya被注册了。

源码下载:
https://github.com/forezp/SpringCloudLearning/tree/master/chapter14

四、参考资料

HashiCorp/consul : https://github.com/HashiCorp/consul

Spring Cloud Consul : https://github.com/spring-cloud/spring-cloud-consul/blob/master/docs/src/main/asciidoc/spring-cloud-consul.adoc#install-consul

consul.io : https://www.consul.io/docs/upgrading.html

史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)相关推荐

  1. 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)

    转:https://blog.csdn.net/forezp/article/details/70217283 在我的第四篇文章断路器(https://blog.csdn.net/forezp/art ...

  2. 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心

    转自:https://blog.csdn.net/forezp/article/details/81041101 文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eu ...

  3. 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心(Finchley版本)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/81041101 本文出自方志朋的博客 个人博客纯净版:https://www.fangzhi ...

  4. 史上最简单的 SpringCloud 教程

    关注公众号"风色年代"订阅更多精彩文章,本博大部分文章为转载并已标明原文出处,如有再转敬请保留,请自觉尊重原创作者的劳动成果! https://blog.csdn.net/fore ...

  5. 史上最简单的 MySQL 教程(十四)「列属性 之 主键」

    主键 主键:primary key,表中主要的键,每张表只能有一个字段(复合主键,可以多个字段)使用此属性,用来唯一的约束该字段里面的数据,不能重复. 增加主键 在 SQL 操作中,有 3 种方法可以 ...

  6. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    最新Finchley版本请访问: https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/ 或者 http://blog.csd ...

  7. 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)

    转:https://blog.csdn.net/forezp/article/details/70037291 最新版本: 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spr ...

  8. 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)

    转:https://blog.csdn.net/forezp/article/details/69939114 最新版本: 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)( ...

  9. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)

    转:https://blog.csdn.net/forezp/article/details/69934399 最新版本: 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix) ...

最新文章

  1. java 合并txt文件_java合并文本文件并删除文件中重复行
  2. Linux修改文件权限为777
  3. 生成release版本的Android系统
  4. 二分查找算法(递归与非递归两种方式)
  5. Docker多阶段镜像构建Dockerfile脚本示例:构建nodejs前端项目
  6. 预测数值型数据:回归源码分析(1)
  7. 基于可靠消息方案的分布式事务:Lottor介绍
  8. hpe服务器稳定性,hpe服务器安装与配置
  9. 新在互站上的校园跑腿/校园任务平台源码
  10. ASP.NET URL重写浅析
  11. 博弈论——威佐夫博弈 Wythoff Game
  12. 超图(Hypergraph)概念理解
  13. 纯html+css写一个收款收据或者发票样式
  14. 云服务器宽带1M代表的什么意思?下载速度是1M/S吗?
  15. python实现SCP文件上传服务器
  16. Head First设计模式笔记
  17. linux dae文件下载,dae文件扩展名,dae文件怎么打开?
  18. 2012年3月19日
  19. 爬虫基础(案例:爬取17K小说个人书架信息)
  20. python删除列索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...

热门文章

  1. 基础知识:元组、字典、集合
  2. VTK:选择可见点用法实战
  3. VTK:演示在多边形数据上使用裁剪用法实战
  4. OpenCASCADE绘制测试线束:布尔运算命令之构建操作结果
  5. wxWidgets:演示笔记本notebook使用
  6. 在 WxHtmlWindow 中调用默认浏览器
  7. wxWidgets:wxPropertyGrid概述
  8. boost::multi_array模块测试 index_gen 的代码
  9. boost::posix_time模块打印当天的剩余小时数的测试程序
  10. ITK:自定义操作以对应两个图像中的像素