Consul简介
Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司Go语言开发。
优点:基于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议,支持跨数据中心的WAN集群,提供图形界面,跨平台。
Consul下载地址:https://www.consul.io/downloads.html
Consul环境搭建
启动consul命令:consul agent -dev -ui -node=cy
-dev开发服务器模式启动,-node节点名为cy,-ui可以用界面访问,默认能访问。
测试访问地址:http://localhost:8500
Consul实现服务注册与发现
pom文件
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <!-- 管理依赖 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.M7</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- SpringBoot整合Web组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- SpringCloud consul-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> </dependencies> <!-- 注意:这里必须要添加,否则各种依赖有问题 --> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
配置文件application.yml
###服务端口号
server:
port: 8503
###服务名称
spring:
application:
name: consul-member
###consul注册中心地址
cloud:
consul:
###consul地址
host: localhost
###consul端口号
port: 8500
discovery:
###服务地址直接为ip地址
hostname: 192.168.48.1
主类
@RestController @SpringBootApplication @EnableDiscoveryClient public class ConsulMemberController { public static void main(String[] args) { SpringApplication.run(ConsulMemberController.class, args); } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步