Consul实现服务与发现

本文介绍了Consul,一个开源的分布式服务发现和配置管理系统,详细讲解了如何使用Spring Cloud和Consul进行服务注册与发现的过程,包括环境搭建、pom文件配置、应用配置和主类实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
    }
}

 

转载于:https://www.cnblogs.com/tripleDemo/p/11259320.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值