失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 微服务学习之Consul服务注册与发现【Hoxton.SR1版】

微服务学习之Consul服务注册与发现【Hoxton.SR1版】

时间:2019-01-16 21:46:15

相关推荐

微服务学习之Consul服务注册与发现【Hoxton.SR1版】

目录

1 是什么

2 能干嘛

3 下载

4 中文入门指南

5 安装并启动consul

6cloud-providerconsul-payment8006测试项目

6.1 pom.xml

6.2 application.yml

6.3 启动类

7 总结

1 是什么

官网介绍:https://www.consul.io/intro/index.html

Consul是一套开源的分布式服务发现与配置管理系统,由HashiCorp公司使用Go语言开发。

Consul提供了微服务系统中的服务治理、配置中心、控制总线等功能,这些功能中的每一个都可以根据需要单独使用,也可以一起使用来构建全方位的服务网络。总之,Consul提供了一种完整的服务网络解决方案。

Consul具有很多优点,比如基于raft协议,比较简洁;支持健康检查;同时支持HTTP和DNS协议;支持跨数据中心的WAN集群;提供图形界面;跨平台,支持Linux、Mac、Windows。

2 能干嘛

3 下载

https://www.consul.io/downloads.html

4 中文入门指南

/spring-cloud-consul.html

5 安装并启动consul

下载1.6.1windows版本consul,解压后双击consul.exe,同目录下启动dos窗口。

查看版本:consul --version

启动:consul agent -dev

等待启动,进入http://localhost:8500,可看到如下页面。

6cloud-providerconsul-payment8006测试项目

6.1 pom.xml

新建cloud-providerconsul-payment8006作为此前父工程的一个module,依赖如下:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><parent><artifactId>cloud</artifactId><groupId>com.bighuan.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-providerconsul-payment8006</artifactId><dependencies><!--引入自定义的api通用包,可以使用Payment支付Entity--><dependency><groupId>com.bighuan.springcloud</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- springcloud consul server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><!-- <version>1.1.10</version>--></dependency><!--mysql connector--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.bighuan.springcloud.PaymentMain8006</mainClass></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

6.2 application.yml

server:port: 8006# 服务别名--注册到consul注册中心名称spring:application:name: cloud-provider-paymentcloud:consul:host: localhostport: 8500discovery:#hostname: 127.0.0.1service-name: ${spring.application.name}datasource:type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型driver-class-name: org.gjt.mm.mysql.Driver # mysql驱动包url: jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=UTF-8&useSSL=falseusername: rootpassword: rootmybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.bighuan.springcloud.entities # 所有Entity别类名所在包

6.3 启动类

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

启动后,刷新http://localhost:8500,可看到cloud-provider-payment注册进consul了。(cloud-consumer-order是另一个module注册进Consul的)

7 总结

坚持!

如果觉得《微服务学习之Consul服务注册与发现【Hoxton.SR1版】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。