说明:关于SpringCloud系列的文章中的代码都在码云上面
地址:https://gitee.com/zh_0209_java/springcloud-alibaba.git
简介:
Consul
是一套开源的分布式服务发现和配置管理系统,由HashiCorp 公司用Go语言开发。
提供了微服务系统中的服务治理,配置中心,控制总线等功能。这些功能中的每一个都可以根据需求单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。
它具有很多优点。包括“居于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议 支持跨数据中心的WAN集群,提供图形化界面,跨平台,支持Linux,Mac,Windows.
下载地址
百度网盘分享地址:
链接:https://pan.baidu.com/s/18l97FDPlxvMxANmr8r5mdQ
提取码:zhcs
启动consul
consul --version
可以查看版本号
启动:consul agent -dev
参数说明:-dev开发服务器模式启动,-node结点名为cy,-ui可以用界面访问,默认能访问。
访问: http://localhost:8500
SpringCloud 集成 consul
- 添加consul依赖
<!--使用consul作为注册中心的依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
- 修改配置文件
server:
port: 8006
# =========== 注册zookeeper ========
spring:
application:
name: cloud-provider-payment
# consul 注册地址配置
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}
- 添加客户端注解
@SpringBootApplication
// 使用@EnableDiscoveryClient 来开启客户端,代表客户端
@EnableDiscoveryClient
@MapperScan("com.zh.springcloud.mapper")
public class PaymentApplication8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentApplication8006.class,args);
}
}
组件名 | 语言 | CAP | 服务健康检查 | 对外暴漏接口 | SpringCloud集成 |
---|---|---|---|---|---|
Eureka | Java | AP | 可配支持 | HTTP | 已集成 |
Consul | Go | CP | 支持 | HTTP/ DNS | 已集成 |
Zookeeper | Java | CP | 支持 | 客户端 | 已集成 |