当前位置: 首页 > news >正文

SpringCloud-Consul

为什么引入

Consul 简介以及安装

控制台 localhost:8500

服务注册与发现

服务端

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions>
</dependency>
spring:application:name: cloud-payment-servicecloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}
@SpringBootApplication
@MapperScan("org.zhouzhou.cloud.mapper")
@EnableDiscoveryClient // 添加注解
public class Main8001 {public static void main(String[] args) {SpringApplication.run(Main8001.class, args);}
}

客户端

前面步骤相同,但还需要修改一个位置,注入 <font style="color:#DF2A3F;">RedisTemplate</font>的时候,需要添加 <font style="color:#DF2A3F;">@LoadBalance</font>注解,因为如果使用服务名来调用的话,默认会开启负载均衡

@Bean
@LoadBalanced
public RestTemplate restTemplate() {return new RestTemplate();
}

我们修改之前写死的ip

//    private static final String serverURL = "http://localhost:8001";
private static final String serverURL = "http://cloud-payment-service:8001";@GetMapping("/consumer/pay/get/{id}")
public Result<PayDTO> getPayByOrderNo(@PathVariable("id") Integer id) {return restTemplate.getForObject(serverURL + "/pay/get/" + id, Result.class, id);
}

注册中心异同点

服务配置与刷新

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

新增配置文件 bootstrap.yml,bootstrap.yml优先加载

配置规范

spring:application:name: cloud-payment-servicecloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}config:profile-separator: '-'format: yaml
@GetMapping("/getInfo")public Result<String> getInfo(@Value("${atguigu.info}") String info) {return Result.success("port: " + port + "\t Info: " + info);}

测试

配置刷新

  1. 主启动类配置 @RefreshScope
  2. 仅为演示,调低演示方便查看效果
spring:cloud:consul:config:watch:wait-time: 1

修改 data,为 version 2,保存

相关文章:

SpringCloud-Consul

为什么引入 Consul 简介以及安装 控制台 localhost:8500 服务注册与发现 服务端 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId><exclusions><exclusio…...

nginx搭建负载均衡

准备工作 两台虚拟机&#xff0c;或者本地启动两个相同应用&#xff0c;在不同的端口上安装好的nginx&#xff0c;在linux上两个版本的hexo&#xff0c;或者其他应用&#xff0c;方便观察是否进行了负载均衡 启动服务 在两台虚拟机上启动项目&#xff0c;这里以hexo为例 服务器…...

灵当CRM data/pdf.php 任意文件读取漏洞复现

0x01 产品简介 灵当CRM是一款专为中小企业打造的智能客户关系管理工具,由上海灵当信息科技有限公司开发并运营。广泛应用于金融、教育、医疗、IT服务、房地产等多个行业领域,帮助企业实现客户个性化管理需求,提升企业竞争力。无论是新客户开拓、老客户维护,还是销售过程管…...

Python 批量转换 Shapefile 为 GeoJSON

批量转换 Shapefile (.shp) 为 GeoJSON 文件的脚本详解 &#x1f5fa;️&#x1f504; 在地理信息系统&#xff08;GIS&#xff09;和遥感领域&#xff0c;Shapefile&#xff08;.shp&#xff09;格式与GeoJSON格式是两种常用的数据格式。Shapefile 作为矢量数据的标准格式之一…...

软考《信息系统运行管理员》- 4.1信息系统软件运维概述

4.1信息系统软件运维概述 文章目录 4.1信息系统软件运维概述信息系统软件运维的概念信息系统软件的可维护性及维护类型对软件可维护性的度量可以从以下几个方面进行&#xff1a;软件维护分类&#xff1a; 信息系统软件运维的体系1.**需求驱动**2.**运维流程**3.**运维过程**4.*…...

Leetcode 3319. K-th Largest Perfect Subtree Size in Binary Tree

Leetcode 3319. K-th Largest Perfect Subtree Size in Binary Tree 1. 解题思路2. 代码实现 题目链接&#xff1a;3319. K-th Largest Perfect Subtree Size in Binary Tree 1. 解题思路 这一题其实就是一个很常见的树的遍历&#xff0c;我们自底向上遍历每一个子树&#x…...

从秒级到小时级:TikTok等发布首篇面向长视频理解的多模态大语言模型全面综述

文章链接&#xff1a;https://arxiv.org/pdf/2409.18938 亮点直击 追踪并总结从图像理解到长视频理解的MM-LLMs的进展;回顾了各种视觉理解任务之间的差异&#xff0c;并强调了长视频理解中的挑战&#xff0c;包括更细粒度的时空细节、动态事件和长期依赖性;详细总结了MM-LLMs在…...

【CTF】敏感信息泄露 GIT SVN VIM

在CTF&#xff08;Capture The Flag&#xff09;比赛中&#xff0c;信息泄露是常见的考察方向之一。这类题目通过模拟开发人员的疏忽或系统配置的失误&#xff0c;导致敏感文件或数据被泄露。信息泄露题目通常相对简单&#xff0c;但能帮助参赛者掌握如何从公开的信息中获取潜在…...

EMQX服务器的搭建,实现本地机和虚拟机之间的MQTT通信(详细教程)

前言 MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的&#xff0c;这些特点使它适用范围非常广泛。 MQTT协议中有三种身份&#xff1a;发布者&#xff08;Publish&#xff09;、代理&#xff08;Broker&#xff09;&#xff08;…...

cordova的使用

环境 Cordova 是一个跨平台的开发框架&#xff0c;它允许开发者使用 HTML、CSS 和 JavaScript 创建移动应用。Cordova 的不同版本可能会有不同的环境要求。以下是 Cordova 10 和 Cordova 12 在开发 Android 和 iOS 应用时的环境要求的对比总结。 1. Cordova 10 环境要求 And…...

三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力

本文深入探讨Transformer模型中三种关键的注意力机制&#xff1a;自注意力、交叉注意力和因果自注意力。这些机制是GPT-4、Llama等大型语言模型&#xff08;LLMs&#xff09;的核心组件。通过理解这些注意力机制&#xff0c;我们可以更好地把握这些模型的工作原理和应用潜力。 …...

《使用Gin框架构建分布式应用》阅读笔记:p20-p31

《用Gin框架构建分布式应用》学习第2天&#xff0c;p20-p31总结&#xff0c;总计12页。 一、技术总结 1.第一个gin程序 // main.go package mainimport "github.com/gin-gonic/gin"func main() {r : gin.Default()r.GET("/", func(c *gin.Context) {c.J…...

如何修改MacOS的终端的配色和linux一样

目录 一、配色方案 二、修改配色 一、配色方案 一键更改MacOS的终端配色文件&#xff0c;目的就是为了让他从原本的样子变成XShell里面显示的配色样式。文件夹为蓝色&#xff0c;链接文件为青色&#xff0c;可执行文件为绿色之类的。 linux默认配色方案是"exfxcxdxbxege…...

基于百度智能体开发爱情三十六计

基于百度智能体开发爱情三十六计 文章目录 基于百度智能体开发爱情三十六计1. 爱情三十六计智能体2. 三十六计开发创意3. 智能体开发实践3.1 基础配置3.2 进阶配置3.3 调优心得3.4可能会遇到的问题 4. 为什么选择文心智能体平台 1. 爱情三十六计智能体 爱情三十六计 是一款基于…...

计算机网络:计算机网络概述 —— 描述计算机网络的参数

文章目录 数据量性能指标速率带宽数据传输速率 吞吐量时延分析时延问题 时延带宽积往返时间利用率丢包率丢包的情况 抖动可用性可靠性安全性 计算机网络是现代信息社会的基础设施&#xff0c;其性能和可靠性对各类应用至关重要。为了理解和优化计算机网络&#xff0c;我们需要深…...

Windows 11系统选项卡详解:从新手到专家的操作指南

Windows 11的“系统”选项卡是管理电脑硬件和软件设置的中心。 基础操作 1. 查看和编辑系统信息 打开“开始”菜单&#xff0c;点击“设置”图标。 在“设置”窗口中&#xff0c;选择左侧的“系统”选项卡。 点击“关于”。 在这里&#xff0c;我们可以查看系统规格。要编辑设…...

乐鑫ESP32-S3无线方案,AI大模型中控屏智能升级,提升智能家居用户体验

在这个由数据驱动的时代&#xff0c;人工智能正以其前所未有的速度和规模改变着我们的世界。随着技术的不断进步&#xff0c;AI已经从科幻小说中的概念&#xff0c;转变为我们日常生活中不可或缺的一部分。 特别是在智能家居领域&#xff0c;AI的应用已成为提升生活质量、增强…...

postman变量,断言,参数化

环境变量 1.创建环境变量 正式环境是错误的&#xff0c;方便验证环境变化 2.在请求中添加变量 3.运行前选择环境变量 全局变量 能够在任何接口访问的变量 console中打印日志 console.log(responseBody);//将数据解析为json格式 var data JSON.parse(responseBody); conso…...

Nginx实战指南:基础知识、配置详解及最佳实践全攻略

背景 在Java系统实现过程中&#xff0c;我们不可避免地会借助大量开源功能组件。然而&#xff0c;这些组件往往功能丰富且体系庞大&#xff0c;官方文档常常详尽至数百页。而在实际项目中&#xff0c;我们可能仅需使用其中的一小部分功能&#xff0c;这就造成了一个挑战&#…...

百度搜索引擎(SEO)优化师的未来将何去何从?

百度搜索引擎&#xff08;SEO&#xff09;优化师的未来将何去何从&#xff1f; 作为一名SEO专家&#xff08;林汉文&#xff09;&#xff0c;在过去的三年里&#xff0c;我深感自己与快速变化的百度SEO圈子逐渐脱节。然而&#xff0c;在最近重拾旧业&#xff0c;重新审视SEO特…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...