目录
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版】》对你有帮助,请点赞、收藏,并留下你的观点哦!