重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正

重生之我在暑假学习微服务第一天《MybatisPlus-上篇》
重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
重生之我在暑假学习微服务第三天《Docker-上篇》
重生之我在暑假学习微服务第四天《Docker-下篇》
重生之我在暑假学习微服务第五天《Docker部署项目篇》
重生之我在暑假学习微服务第六天《微服务之拆分项目篇》
重生之我在暑假学习微服务第七天《微服务之服务治理篇》
重生之我在暑假学习微服务第八天《OpenFeign篇》
重生之我在暑假学习微服务第九天《后端拆分部分完结篇
重生之我在暑假学习微服务第十天《网关篇》
未完待续......
[微服务系列文章]

特别声明:本系列所涉及资料皆为黑马程序员课程中的资料

目录

一、错误订正

二、配置管理

1、先新建一个jdbc相关的

2、配置一下日志相关的

三、拉取共享配置文件

1、在pom文件中引入相关依赖

2、新建一个bootstrap文件

3、简化application中的配置

4、重新运行购物车服务

四、配置热更新

1、定义CartProperties方法

2、修改service层代码

3、在nacos中配置一下变量

4、重启cart服务

一、错误订正

昨天的错误我找了一天,也是找的我头昏眼花,终于知道哪里错了。

网关这方面没什么问题,我在这里一直再问通义千问,折腾了一上午一无所获。谁知道是第九天的拆分服务中出现了很大的问题,不知道大家有没有注意

在修改的过程中我这里是直接把源代码删除了,导致浏览器一直找不到后端相应接口。

这里我甚至把每个数据库都重新连接了一遍🤣

只要把原本删除的代码全部改过来就可以,还有一点最重要的就是导包和依赖

导入依赖的时候千万不要导入hm-service依赖,你的模块可能会引用他里面的包!!!

告诫一下大家,千万不要眼高手低,一定要仔细仔细再仔细,毕竟模块太多了实在,一个不小心就会头蒙的。

二、配置管理

今天把昨天遗留的知识点补充一下

1、先新建一个jdbc相关的

我这里是这样填的

复制代码
spring:
  datasource:
    url: jdbc:mysql://${hm.db.host:192.168.73.134}:${hm.db.port:3306}/${hm.db.database}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: ${hm.db.un:root}
    password: ${hm.db.pw:123}
mybatis-plus:
  configuration:
    default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
  global-config:
    db-config:
      update-strategy: not_null
      id-type: auto

2、配置一下日志相关的

复制代码
logging:
  level:
    com.hmall: debug
  pattern:
    dateformat: HH:mm:ss:SSS
  file:
    path: "logs/${spring.application.name}"

我这里就配置了这两个

三、拉取共享配置文件

这是运行时的执行流程图,不难看出他的执行顺序bootstrap→nacos→application

刚才草率了忘记加yaml后缀了

这里需要注意一下,虚拟机一定要一直处于开启状态,因为用的是虚拟机地址配置的mysql

1、在pom文件中引入相关依赖

2、新建一个bootstrap文件

3、简化application中的配置

4、重新运行购物车服务

再次测试一下,可以看到测试成功

四、配置热更新

热更新(Hot Update)指在不重启应用或服务的情况下,动态更新代码、资源或配置的技术。常用于游戏、移动应用、后端服务等场景,以修复漏洞、优化性能或发布新功能。

1、定义CartProperties方法

2、修改service层代码

将原本的10改为cartProperties.getMaxItems()就行了

3、在nacos中配置一下变量

4、重启cart服务

刚才我们设置的添加商品上限为1证明购物车中最多存在1个商品,重启服务来检测下

可以看到目前已经有一个商品了

再添加商品就显示添加商品失败了

不出意外后台也报错了

直接修改变量再次检测

添加成功了

后台同样查询到2条数据

结语

本文分享了微服务学习系列的技术笔记,重点记录了配置管理和热更新功能的实现过程。作者首先纠正了前一日在服务拆分时因删除源代码导致的接口调用错误,强调模块依赖管理的重要性。随后详细介绍了配置管理的具体操作,包括JDBC和日志配置,以及如何通过bootstrap文件拉取共享配置。最后演示了热更新功能的实现,通过修改CartProperties和Nacos配置实现不重启服务更新购物车商品数量限制。文章以实际操作为主线,展示了从错误排查到功能实现的完整技术实践过程。

相关推荐
py有趣37 分钟前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
BreezeJuvenile1 小时前
外设模块学习(15)——MQ-2烟雾气体传感器(STM32)
stm32·单片机·学习·mq-2·烟雾气体传感器
工业甲酰苯胺2 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫2 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@2 小时前
【JAVA】LinkedList与链表
java·python·链表
LilySesy3 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
六件套是我3 小时前
redission实现延时队列
android·java·servlet
王元_SmallA3 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端
ᐇ9593 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
好好研究3 小时前
Spring框架 - 开发方式
java·后端·spring