史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
转: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)相关推荐
- 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
转:https://blog.csdn.net/forezp/article/details/70217283 在我的第四篇文章断路器(https://blog.csdn.net/forezp/art ...
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
转自:https://blog.csdn.net/forezp/article/details/81041101 文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eu ...
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心(Finchley版本)
转载请标明出处: http://blog.csdn.net/forezp/article/details/81041101 本文出自方志朋的博客 个人博客纯净版:https://www.fangzhi ...
- 史上最简单的 SpringCloud 教程
关注公众号"风色年代"订阅更多精彩文章,本博大部分文章为转载并已标明原文出处,如有再转敬请保留,请自觉尊重原创作者的劳动成果! https://blog.csdn.net/fore ...
- 史上最简单的 MySQL 教程(十四)「列属性 之 主键」
主键 主键:primary key,表中主要的键,每张表只能有一个字段(复合主键,可以多个字段)使用此属性,用来唯一的约束该字段里面的数据,不能重复. 增加主键 在 SQL 操作中,有 3 种方法可以 ...
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
最新Finchley版本请访问: https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/ 或者 http://blog.csd ...
- 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
转:https://blog.csdn.net/forezp/article/details/70037291 最新版本: 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spr ...
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
转:https://blog.csdn.net/forezp/article/details/69939114 最新版本: 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)( ...
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
转:https://blog.csdn.net/forezp/article/details/69934399 最新版本: 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix) ...
最新文章
- java 合并txt文件_java合并文本文件并删除文件中重复行
- Linux修改文件权限为777
- 生成release版本的Android系统
- 二分查找算法(递归与非递归两种方式)
- Docker多阶段镜像构建Dockerfile脚本示例:构建nodejs前端项目
- 预测数值型数据:回归源码分析(1)
- 基于可靠消息方案的分布式事务:Lottor介绍
- hpe服务器稳定性,hpe服务器安装与配置
- 新在互站上的校园跑腿/校园任务平台源码
- ASP.NET URL重写浅析
- 博弈论——威佐夫博弈 Wythoff Game
- 超图(Hypergraph)概念理解
- 纯html+css写一个收款收据或者发票样式
- 云服务器宽带1M代表的什么意思?下载速度是1M/S吗?
- python实现SCP文件上传服务器
- Head First设计模式笔记
- linux dae文件下载,dae文件扩展名,dae文件怎么打开?
- 2012年3月19日
- 爬虫基础(案例:爬取17K小说个人书架信息)
- python删除列索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...
热门文章
- 基础知识:元组、字典、集合
- VTK:选择可见点用法实战
- VTK:演示在多边形数据上使用裁剪用法实战
- OpenCASCADE绘制测试线束:布尔运算命令之构建操作结果
- wxWidgets:演示笔记本notebook使用
- 在 WxHtmlWindow 中调用默认浏览器
- wxWidgets:wxPropertyGrid概述
- boost::multi_array模块测试 index_gen 的代码
- boost::posix_time模块打印当天的剩余小时数的测试程序
- ITK:自定义操作以对应两个图像中的像素