SpringCloud整合Consul的实现

下载安装Consul

访问Consul 官网 下载 Consul 的最新版本,我这里是 consul_1.9.1。

这里以 Windows 为例,下载下来是一个 consul_1.9.1_windows_amd64.zip 的压缩包,解压是是一个 consul.exe 的执行文件。

启动Consul

cd 到对应的目录下,使用 cmd 启动 Consul

cd E:\迅雷下载\consul_1.9.1_windows_amd64
#cmd启动:
consul agent -dev    # -dev表示开发模式运行,另外还有-server表示服务模式运行

为了方便期间,可以在同级目录下创建一个 run.bat 脚本来启动,脚本内容如下:

consul agent -dev
pause

启动 run.bat 脚本成功之后访问: http://localhost:8500 ,可以看到 Consul 的管理界面

springcloud整合Consul

由于比较简单在这里我们就不再新建项目了,我们基于之前的项目 SpringCloud整合Zookeeper 来做修改。

修改pom依赖

我们只需要把原先的 zookeeper 依赖替换为 consul 依赖即可

<!--springcloud 整合zookeeper客户端-->
<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
<!--springcloud 整合consul-->
<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

替换后如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <parent> <artifactId>springcloud-zookeeper</artifactId>
 <groupId>com.baba.wlb</groupId>
 <version>1.0-SNAPSHOT</version>
 </parent> <modelVersion>4.0.0</modelVersion>
 <artifactId>springcloud-zookeeper-member</artifactId>
 <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 整合zookeeper客户端-->
<!--    <dependency>-->
<!--      <groupId>org.springframework.cloud</groupId>-->
<!--      <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>-->
<!--    </dependency>-->
 <!--springcloud 整合consul-->
 <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></project>

修改yml配置文件

为了方便切换 zookeeperconsul 我们调整一下yml 配置即可:

application.yml 文件:

spring:
 profiles:
  active: consul

application-zk.yml 文件:

##服务器端口号
server:
 port: 7001
##dubbo 注册到注册中心的名称
spring:
 application:
  name: zk-member
 cloud:
  zookeeper:
   connect-string: 39.102.56.91:2181

application-consul.yml 文件:

##服务端口号
server:
 port: 8501
spring:
 application:
  ##服务别名--服务注册到consul名称
 name: consul-member
 ##注册中心consul地址
 cloud:
  consul:
   host: localhost
   port: 8500
 discovery:
    ## consul ip地址
 hostname: 192.168.3.91

启动项目

启动 AppMember.java

启动类的注解都为 @EnableDiscoveryClient

访问 http://localhost:8500/ui/dc1/services

可以看到 member 服务注册到 sonsul 上来。

到此这篇关于SpringCloud整合Consul的实现的文章就介绍到这了,更多相关SpringCloud整合Consul内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解SpringCloud使用Consul做注册中心

    简介: Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对. 命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品. 一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 , Consul 提供了微服务中服务注册发现注册,微服务中的分布式配置中心,可以单独使用,也可

  • springcloud使用consul作为配置中心

    Spring Cloud 中文手册: https://springcloud.cc/spring-cloud-consul.html 也就是说在我们使用consul config时最好在consul 建立相应的目录结构 适用于某一个服务的目录结构以及适用于所有的服务的目录结构 本列consul web UI :springboot为我们提供了三种环境dev:默认开发环境  test:测试环境  prod:生产环境 PS: 1.每次当我们修改consul上面的配置信息的时候,会向我们的代码发送一个

  • Springcloud服务注册consul客户端过程解析

    1.版本说明 springboot 2.2.5.RELEASE springcloud Hoxton.SR6 2.依赖 <!--引入consul client依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependen

  • SpringCloud与Consul集成实现负载均衡功能

    负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术.负载均衡将特定的业务(网络服务.网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性.负载均衡基本概念有:实服务.实服务组.虚服务.调度算法.持续性等,其常用应用场景主要是服务器负载均衡,链路负载均衡. 一.背景 SpringCloud微服务目前比较流行,其中大都在使用的服务注册与发现是Eureka,最近研究了Consul的集群搭建,现使用Consul实现服务的负载均衡.其主要拓扑结构

  • SpringCloud Finchley+Spring Boot 2.0 集成Consul的方法示例(1.2版本)

    概述: Spring Boot 2.0相对于之前的版本,变化还是很大的.首先对jdk的版本要求已经不能低于1.8,其次依赖的spring的版本也是最新版本5.0,并集成了功能强大的webflux等. SpringCloud Finchley 版本的升级也带来了全新组件:Spring Cloud Function 和 Spring Cloud Gateway ,前者致力于函数式编程模块的整合,后者则是网关netflix zuul 的替换组件. 1)需要的依赖: <?xml version="

  • SpringCloud整合Consul的实现

    下载安装Consul 访问Consul 官网 下载 Consul 的最新版本,我这里是 consul_1.9.1. 这里以 Windows 为例,下载下来是一个 consul_1.9.1_windows_amd64.zip 的压缩包,解压是是一个 consul.exe 的执行文件. 启动Consul cd 到对应的目录下,使用 cmd 启动 Consul cd E:\迅雷下载\consul_1.9.1_windows_amd64 #cmd启动: consul agent -dev # -dev表

  • 详解springcloud组件consul服务治理

    Consul是一款由HashiCorp公司开源的,用于服务治理的软件,Spring Cloud Consul对其进行了封装.Consul具有如下特点: 服务注册 - 自动注册和取消注册服务实例的网络位置 运行状况检查 - 检测服务实例何时启动并运行 分布式配置 - 确保所有服务实例使用相同的配置 Consul agent有两种运行模式:Server和Client.这里的Server和Client只是Consul集群层面的区分,与搭建在Cluster之上 的应用服务无关. 以Server模式运行的

  • 浅析springcloud 整合 zipkin-server 内存日志监控

    Zipkin Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献.其主要功能是聚集来自各个异构系统的实时监控数据. Zipkin主要包括四个模块  - Collector           接收或收集各应用传输的数据  - Storage            存储接受或收集过来的数据,当前支持Memory,MySQL,Cassandra,ElasticSea

  • seata springcloud整合教程与遇到的坑

    SEATA概要 seata 是alibaba 出的一款分布式事务管理器,他有侵入性小,实现简单等特点.我们能够使用seata 实现分布式事务管理, 是微服务必备的组件.他可以实现在微服务之间的事务管理,也可以实现多个数据源的事务管理. seata 在阿里内部,和众多的公司都有应用,因此我们可以放心的使用它. 依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-clou

  • SpringCloud整合Activiti过程中的踩坑记录

    目录 前言 错误一:shiro与serurity冲突 处理:在启动类屏蔽SpringSecurity 处理:更换版本7.1.0.M4及以下 错误二:与mybatis冲突 处理:注释包中的MyBatis 关于idea插件 总结 前言 最近需要用到工作流,选择了Activiti,刚开始配置起来并没有很顺利.记录一下希望对读者们有帮助. 先来看我这边项目的环境:主要为JDK1.8,SpringbBoot2.3.5,MyBatis-Plus3.3.2, MySql8.0.21,Shiro1.5.3,id

  • springcloud整合gateway实现网关的示例代码

    目录 1.项目目录: 2.代码实现: 3.实现效果: 1.项目目录: 创建项目gateway作为父类 2.代码实现: 父类依赖 ​ <parent>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-parent</artifactId>         <version>2.6.2</versi

  • springcloud整合gateway实现网关全局过滤器功能

    目录 1.代码实现: 2.实现效果: springcloud整合gateway实现网关全局过滤器功能,在​ ​springcloud整合gateway实现网关 ​​基础功能上进行修改. 1.代码实现: 添加自定义全局过滤器 /**  * 自定义一个全局过滤器  * 实现 globalfilter , ordered接口  */ @Component public class LoginFilter implements GlobalFilter, Ordered {     /**      *

  • Springcloud整合stream,rabbitmq实现消息驱动功能

    springcloud整合stream,rabbitmq实现消息驱动功能 1.代码实现: 创建项目stream 添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.2</version> <relativePath/>

随机推荐