蚂蚁课堂:Consul搭建
使用Consul来替换Eureka
Consul简介
Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。
它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows
Consul 整合SpringCloud 学习网站:https://springcloud.cc/spring-cloud-consul.html
Consul下载地址https://www.consul.io/downloads.html
Consul环境搭建
官方下载地址下载window版,解压得到一个可执行文件。
设置环境变量,让我们直接在cmd里可直接使用consul使命。在path后面添加consul所在目录例如D:\soft\consul_1.1.0_windows_amd64
启动consul命
consul agent -dev -ui -node=cy
-dev开发服务器模式启动,-node结点名为cy,-ui可以用界面访问,默认能访问。
测试访问地址:http://localhost:8500
Consul客户端
Maven依赖信息
<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> |
客户端配置文件
###eureka 服务端口号 server: port: 8502 spring: application: name: consul-order ####consul注册中心地址 cloud: consul: host: localhost port: 8500 discovery: hostname: 192.168.18.220 |
DiscoveryClient用法
discoveryClient接口 可以获取注册中心上的实例信息。
@EnableDiscoveryClient 开启其他注册中心 比如consul、zookeeper
@SpringBootApplication @EnableDiscoveryClient publicclass AppMember { publicstaticvoid main(String[] args) { SpringApplication.run(AppMember.class, args); } } |
获取注册中心上信息
@RequestMapping("/getServiceUrl") public List<String> getServiceUrl() { List<ServiceInstance> list = discoveryClient.getInstances("zk-member"); List<String> services = new ArrayList<>(); for (ServiceInstance serviceInstance : list) { if (serviceInstance != null) { services.add(serviceInstance.getUri().toString()); } } return services; } |
@EnableDiscoveryClient 与@EnableEurekaClient区别
1,@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现; 适合于consul、zookeeper注册中心
2,@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;
@RestController public class OrderApiController { @Autowired private RestTemplate restTemplate; @Autowired private DiscoveryClient discoveryClient; // 订单服务调用会员服务 @RequestMapping("/getOrder") public String getOrder() { // 有两种方式,一种是采用服务别名方式调用,另一种是直接调用 使用别名去注册中心上获取对应的服务调用地址 String serviceUrl = getServiceUrl("consul-member") + "/getMember"; String result = restTemplate.getForObject(serviceUrl, String.class); System.out.println("订单服务调用会员服务result:" + result); return result; } public String getServiceUrl(String name) { List<ServiceInstance> list = discoveryClient.getInstances(name); if (list != null && !list.isEmpty()) { return list.get(0).getUri().toString(); } return null; } } |
转载于:https://www.cnblogs.com/xjatj/p/10289985.html
蚂蚁课堂:Consul搭建相关推荐
- 蚂蚁课堂(每特学院)-2期
蚂蚁课堂2期视频公开-请大家多多支持蚂蚁课堂 密码: tt53 0001-蚂蚁课堂(每特学院)-2期-多线程快速入门 第01节.线程与进程的区别 第02节.为什么要用到多线程 第03节.多线程应用场景 ...
- 郭卓惺:互动课堂的搭建实例及相关领域应用
本文来自腾讯云技术沙龙,本次沙龙主题为在线教育个性化教学技术实践 演讲嘉宾:郭卓惺 | 腾讯视频云终端技术中心 随着在线教育覆盖面的增加,互动课堂授课方式正在向多样化发展,为了适应新形式的发展,腾讯视 ...
- 合影效果java_【蚂蚁课堂】四十三:如何拍酷炫集体照?
原标题:[蚂蚁课堂]四十三:如何拍酷炫集体照? 作者 | 蚂蚁MaE 编辑 | 萌仔 大家出去玩或者聚会的时候会经常拍合影,但多数人拍出的效果真心不敢恭维. 蚂蚁随手翻了一下同学的QQ空间,发现了这种 ...
- 蚂蚁课堂 - springboot入门(非常详细)讲解人:(余胜军)
蚂蚁课堂 - springboot入门(非常详细)讲解人:(余胜军) http://www.mayikt.com/course/video/1172
- Nomad Consul搭建集群
Nomad Consul搭建集群 1.安装Nomad和Consul 或者直接下载二进制文件放在/usr/bin下. https://www.nomadproject.io/downloads http ...
- 郭卓惺:互动课堂的搭建实例及相关领域应用 1
本文来自腾讯云技术沙龙,本次沙龙主题为在线教育个性化教学技术实践 演讲嘉宾:郭卓惺 | 腾讯视频云终端技术中心 随着在线教育覆盖面的增加,互动课堂授课方式正在向多样化发展,为了适应新形式的发展,腾讯视 ...
- 关于leanote(蚂蚁笔记私服搭建安装)步骤
关于leanote(蚂蚁笔记私服搭建安装)步骤 去官网下载leanote的Windows版的外壳进行安装: https://leanote.com/(界面私服连接并编辑自己笔记使用的管理的窗口界面) ...
- 蚂蚁课堂史上最全SpringBoot视频教程
早上CSDN花积分换到了这部视频,后来去官网看了下竟然是免费的,这里分享给大伙.希望对大家有用. 课程大纲 第一节(SpringBoot概述) 第二节(创建第一个SpringBoot项目) 第三节(S ...
- 云信小课堂|搭建应用级别在线聊天室,7步就够了!
Vol. 6 从2000年至今,聊天室一直活跃在人们的各种生活场景中,目前广泛运用于超级小班课.互动大班课.连麦开黑.主播 PK 等场景,还具备文本.表情.点赞.撒花等互动方式,架起沟通桥梁的同时,玩 ...
- 蚂蚁课堂-第四期-基于springcloud构建微服务电商项目_阿里巴巴29个屌炸天的开源项目,你用过几个?附编程资料!!!...
1. 分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案.此项目包含开发分布式应用服务 ...
最新文章
- Ubantu安装maven
- python能写软件吗-python代码能做成软件吗
- 【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
- python 优先队列_python中使用优先队列
- Redux初学者指南
- SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决
- 32位存储环境下整数范围为什么是[-2^31,2^31-1]?
- 2018数据可视分析挑战赛-二等奖作品及历年优秀作品
- 网络人工智能研究方向有哪些?
- Switch基本知识
- 文件服务器php源码,php 在服务器上载文件
- 2.11.PHP7.1 狐教程-【PHP 数组】
- 什么是死亡之 Ping 攻击?
- 「运维有小邓」三款性价比超高的AD域管理工具
- 视频图像协议接口大全
- MultipartFile transferTo() FileNotFound 拒绝访问
- 9个常用的免费高清壁纸图库网站
- javaSE之多线程vip插队
- 用scratch制作蓄力跳
- 电脑技巧:Win7、Win10、Win11如何选择,看完你就懂了