SpringCloud学习(1)-consul

consul下载安装及使用

1.consul简介

Consul是一种开源的、分布式的服务发现和配置管理工具,能够帮助开发人员构建和管理现代化的分布式系统。它提供了一套完整的功能,包括服务注册与发现、健康检查、KV存储、多数据中心支持等,可以帮助开发人员简化系统的管理和维护工作。

2.consul下载

官网地址:www.consul.io

源码地址:GitHub - spring-cloud/spring-cloud-consul: Spring Cloud Consul

下载地址:Install | Consul | HashiCorp Developer

支持多种操作系统,以windows为例

3.安装检查

windows版下载后只有一个exe文件,在对应路径下打开命令窗口输入:consul --version

出现以下信息说明可以使用。

4.启动

开发模式启动consul:命令行输入consul agent -dev

通过以下地址访问consul首页http://localhost:8500

 

5.服务注册:

   maven依赖:

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency>
   配置文件:

启动类添加@EnableDiscoveryClient注解

注意:

使用consul服务名进行请求,默认是开启负载均衡的,调用时需要使用LoadBalanced注解。

@Configuration
public class RestTemplateConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}}

6.consul配置中心

maven依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId></dependency>

bootstrap.yml

spring:application:name: cloud-payment-servicecloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}config:profile-separator: '-'format: yaml

启动类开启动态刷新:@RefreshScope

consul Key/Value配置:

请求接口:

public Result<String> getInfo(@Value("${mybootstrap.info}") String info) {return Result.success("port: " + port + "\t Info: " + info);
}

效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/790587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的高可用(主从复制、哨兵模式、集群)的概述及部署

目录 一、Redis主从复制 1、Redis的主从复制的概念 2、Redis主从复制的作用 ①数据冗余&#xff1a; ②故障恢复&#xff1a; ③负载均衡&#xff1a; ④高可用基石&#xff1a; 3、Redis主从复制的流程 4、Redis主从复制的搭建 4.1、配置环境以及安装包 4.2所有主机…

设计模式-行为型-中介者模式-Mediator

同事抽象类 public abstract class Colleague {private Mediator mediator;public abstract void play(String data); } 视频同事 public class AudioColleague extends Colleague {public void play(String data) {System.out.println("画外音是&#xff1a;" d…

嵌入式开发中状态模式实现

文章目录 状态模式代码实现代码解释小结 状态模式 状态模式&#xff08;State Pattern&#xff09;是一种行为设计模式&#xff0c;它允许对象在内部状态改变时改变它的行为。在嵌入式系统中&#xff0c;状态模式尤其适用于那些根据外部事件或内部条件频繁改变状态并且每种状态…

最新408试卷分析+备考经验分享

408出题再糟糕&#xff0c;你是不是还是要考&#xff1f; 别管出题人出多刁钻的题&#xff0c;大家拿到的卷子都是一样的&#xff0c;要难就都难&#xff0c;要刁钻就一起g... 所以再潜心钻研出题规律或出题套路&#xff0c;不如多花些时间去多复习巩固几遍知识点&#xff01…

ncurses库:一个框架例程源码

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 折腾过字符界面下的图形化显示…

3D雷达和相机联合标定:一种灵活且精确的基于目标的外参标定方法

3D雷达和相机联合标定&#xff1a;一种灵活且精确的基于目标的外参标定方法 论文链接&#xff1a;https://arxiv.org/pdf/2307.15264.pdf 附赠自动驾驶学习资料和量产经验&#xff1a;链接 摘要 本文介绍了3D雷达和相机联合标定&#xff1a;一种灵活且精确的基于目标的外参…

精通并发【基础三】:线程安全有哪些思路

不可变 final无锁编程&#xff0c;将数据处理映射到指定的线程中处理ThreadLocal互斥&#xff08;SyncReentrantLockCAS&#xff09; 在多线程编程中&#xff0c;线程安全是指当多个线程访问某个类时&#xff0c;这个类始终能表现出正确的行为。实现线程安全可以通过多种方式&…

Android 10.0 双sim卡区分SIM卡1和SIM卡2来电通知功能实现

1.前言 在10.0的rom系统定制化开发中,在一些产品支持双卡双待的功能中,如果两张sim卡都是移动卡,在来电通知中,就不容易区分 到底是哪张sim卡来的电话信息都显示移动信息 所以为了区分sim卡就需要在sim描述的时候 添加是哪张sim卡,接下来就来实现 这些功能 2.双sim卡区…

【C++】编程规范之表达式原则

表达式中变量的位置 在编写表达式时&#xff0c;将变量放置在右边&#xff0c;可以提高代码的可读性和可理解性。这种做法符合自然语言的阅读习惯&#xff0c;使得代码更易于理解。 // Good if (5 x) {// do something }// Avoid if (x 5) {// do something }不变量和资源申…

WPF中动画教程(DoubleAnimation的基本使用)

实现效果 今天以一个交互式小球的例子跟大家分享一下wpf动画中DoubleAnimation的基本使用。该小球会移动到我们鼠标左键或右键点击的地方。 该示例的实现效果如下所示&#xff1a; 页面设计 xaml如下所示&#xff1a; <Window x:Class"AnimationDemo.MainWindow&qu…

vue使用iview导航栏Menu activeName不生效

activeName不生效 一、问题一、解决方案&#xff0c; 一、问题 根据ivew官网的提示&#xff0c;设置了active-name和open-names以后&#xff0c;发现不管是设置静态是数据还是设置动态的数据&#xff0c;都不生效 一、解决方案&#xff0c; 在设置动态名称的时候&#xff0c…

【Erlang】Linux(CentOS7)安装Erlang和RabbitMQ

一、系统环境 查版本对应&#xff0c;CentOS-7&#xff0c;选择Erlang 23.3.4&#xff0c;RabbitMQ 3.9.16 二、操作步骤 安装 Erlang repository curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash安装 Erlang package s…

Yocto理论基础之layer

Yocto理论基础之layer 一、layer介绍二、layer最佳实践三、创建layer 一、layer介绍 在poky源码中我们基本上在每一个meta layer中都能看到一个layer.conf,里面大致内容如下&#xff1a; # We have a conf and classes directory, add to BBPATH BBPATH . ":${LAYERDIR}…

如何使用Python进行文件读写操作?

如何使用Python进行文件读写操作&#xff1f; Python是一种功能强大的编程语言&#xff0c;它提供了丰富的库和工具&#xff0c;使得文件读写操作变得简单而高效。在Python中&#xff0c;可以使用内置的open()函数来进行文件读写操作。下面将详细介绍如何使用Python进行文件读…

【SpringCloud】Ribbon 负载均衡

目 录 一.负载均衡原理二.源码跟踪1. LoadBalancerIntercepor2. LoadBalancerClient3. 负载均衡策略 IRule4. 总结 三.负载均衡策略1.负载均衡策略2.自定义负载均衡策略 四.饥饿加载 在 order-service 中 添加了 LoadBalanced 注解&#xff0c;即可实现负载均衡功能&#xff0c…

Mysql数据库的存储引擎的区别

MyISAM引擎 MyISAM是MySQL的默认数据库引擎&#xff08;5.5版之前&#xff09;。虽然性能极佳&#xff0c;而且提供了大量的特性&#xff0c;包括全文索引、压缩、空间函数等&#xff0c;但MyISAM不支持事务和行级锁&#xff0c;而且最大的缺陷就是崩溃后无法安全恢复。 Inno…

5.2 SSH和交换机端口安全概述

交换机的安全是一个很重要的问题&#xff0c;因为它可能会遭受到一些恶意的攻击&#xff0c;例如MAC泛洪攻击、DHCP欺骗和耗竭攻击、中间人攻击、CDP 攻击和Telnet DoS 攻击等&#xff0c;为了防止交换机被攻击者探测或者控制&#xff0c;必须采取相应的措施来确保交换机的安全…

Spark面试整理-讨论DataFrame和DataSet的区别

在Apache Spark中,DataFrame和Dataset是两种核心的数据结构,它们用于处理结构化数据。尽管它们有很多相似之处,但也存在一些关键的区别。理解这些区别有助于在不同的应用场景中做出适当的选择。 DataFrame 定义:DataFrame是一个分布式的数据集合,类似于关系数据库中的表格…

【Error】Uncaught TypeError: Cannot read properties of undefined (reading ‘get’)

报错原因&#xff1a; 返回值为undefined 解决&#xff1a; vue3可用&#xff1f;

高项(2)信息化和信息系统基础知识1-软件测试-软件需求-软件架构-中间件-数据仓库-七层协议

1.国家信息化体系6要素 法律法规&#xff0c;是保障信息资源&#xff0c;信息资源的开发和利用是核心任务&#xff0c;是国家信息化取得实效的关键信息网络&#xff0c;是基础信息技术应用&#xff0c;是6要素中的龙头信息技术和产业&#xff0c;是物质保障信息化人才&#xff…