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

重生之我在暑假学习微服务第一天《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配置实现不重启服务更新购物车商品数量限制。文章以实际操作为主线,展示了从错误排查到功能实现的完整技术实践过程。

相关推荐
在下村刘湘6 分钟前
Maven setting文件中<mirrors>(镜像)和 <servers>两个标签的区别
java·maven
fatfishccc12 分钟前
(四)优雅重构:洞悉“搬移特性”的艺术与实践
java·驱动开发·intellij-idea·软件研发·后端开发·代码重构·搬移
努力也学不会java13 分钟前
【设计模式】访问者模式
java·设计模式·访问者模式
Mr.456717 分钟前
idea常用设置和常用插件---持续更新(自己留存备份)
java·ide·intellij-idea
老马爱知26 分钟前
《红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》 第11篇 | 核心网演进终局:从EPC到5GC——微服务与“云原生”
微服务·云原生·核心网·nfv·epc·5g核心网·sba架构
simon_skywalker31 分钟前
阿里云云原生挑战官方用例SPL
阿里云·云原生·kubernetes
老华带你飞38 分钟前
寝室快修|基于SprinBoot+vue的贵工程寝室快修小程序(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·贵工程寝室快修
杨杨杨大侠43 分钟前
手把手教你写 httpclient 框架(八)- 实战案例集锦
java·http·github
小幽余生不加糖44 分钟前
电路方案分析(二十四)汽车高压互锁参考设计
笔记·学习·机器人·汽车·能源
肖老师xy1 小时前
uniapp 苹果端bug合集
java·服务器·uni-app