注册中心(Consul)


1.什么是Consul?

Consul是HashiCorp公司推出的开源工具, 用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案相比, Consul的方案更“一站式”, 内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Valu c存储、多数据中心方案, 不再需要依赖其他工具(比如ZooKeeper等) .使用起来也较为简单.Consul使用Go语言编写, 因此具有天然可移植性(支持Linux、Windows和MacOSX) :安装包仅包含一个可执行文件,方便部署, 与Docker等轻量级容器可无缝配合。

2.Consul安装

https://www.consul.io/downloads.html

下载完成后解压,打开CMD终端,进入consul.exe所在目录,执行如下命令启动Consul服务。

#进入consul.exe所在目录
cd 你的目录
#启动服务,-dev表示开发模式运行,另外还有-server表示服务模式运行
consul agent –dev

启动成功后访问localhost:8500,查看是否启动成功

3.monitor改造

改造mango-monitor工程,作为服务注册到注册中心。

3.1 添加依赖

在pom.xml中添加Spring Cloud和Consul注册中心依赖。

注意:Spring Boot2.1后的版本会出现Consul服务注册上的问题,可能是因为配置变更或者支持方式发生改变,由于版本太新,网上也没有相关解决方案,所以这里吧spring Boot版本调整为2.0.4,Spring Cloud版本使用最新的稳定发布版Finchley.RELEASE。

<!--consul-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        </dependency>

<!--srping cloud-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

3.2 配置文件

server.port=8000
spring.application.name=mango-monitor

spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
#注册到consul的服务名称
spring.cloud.consul.discovery.service-name=${spring.application.name}

3.3 修改启动类

添加@EnableDiscoveryClient

3.4 测试效果

启动服务监控服务器,访问localhost:8500,发现服务已经成功注册到注册中心。



1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM