自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 苍穹外卖项目:从Nacos配置优化到Gateway网关搭建实战

本文介绍了苍穹外卖后端工程中微服务Nacos配置优化和Spring Cloud Gateway网关搭建的关键步骤。针对Nacos启动报错问题,通过调整配置文件加载逻辑,将连接信息置于主配置中解决"endpoint is blank"错误;同时在父pom统一管理依赖版本以避免冲突。网关搭建部分详细说明了创建网关模块和配置pom.xml的注意事项,特别强调需禁用spring-boot-starter-web依赖。配置优化后验证了服务在Nacos控制台的可视化效果,为微服务架构提供了稳定的基础

2025-11-30 18:09:27 950

原创 本地如何搭建nacos并且注册到微服务

此时返回类似“{“username”:“nacos”, “password”:“$your_password”}”,这样的结果,说明请求成功,创建管理员账号成功,浏览器登录你的console界面,如果不知道地址,可以再刚才你一直刷新的 start.out 日志中查看。具体如图,其中 nacos.core.auth.plugin.nacos.token.secret.key 的值就是上面openssl生成的。接下来回到nacos,查看服务列表,发现你的服务被注册进去了,结束。打开配置文件,进行配置。

2025-11-30 18:08:00 705

原创 苍穹外卖布隆过滤器改造方案(自用存档)

本文提出了一种布隆过滤器架构设计方案,强调三个核心原则:单向依赖(业务模块依赖common层)、边界清晰(业务逻辑与通用能力分离)和扩展无侵入(新增业务不修改现有代码)。方案包含三个组件:1)纯工具类BloomFilterConfiguration,提供通用配置构建方法;2)BloomFilterManager改造为被动初始化模式,由业务模块主动调用;3)业务模块自行实现配置逻辑。这种设计确保了common层的纯粹性,同时支持业务模块灵活扩展,实现了高复用性和低耦合的目标。

2025-11-24 22:55:02 473

原创 微服务架构拆分实战:基于实际场景与负载的精细化服务划分

本文针对"苍穹外卖"类项目,提出基于实际业务场景和负载的微服务拆分方案。通过分析高频/低频、高负载/低负载等维度,将系统划分为6个核心服务:购物车服务(高频高负载)、订单服务(核心交易)、用户基础服务(低频聚合)、商品查询服务(纯读聚合)、管理端订单服务和管理端运营服务(低负载聚合)。该方案实现了资源利用率最大化、故障影响最小化和迭代效率最优化,避免盲目拆分或过度聚合的问题,真正发挥微服务独立扩展和故障隔离的优势。后续可根据业务增长对高负载服务进一步集群化改造。

2025-11-20 22:48:40 783

原创 项目视角面试复盘:苍穹外卖套餐新增功能踩坑与核心技术考点

本文以苍穹外卖项目的套餐新增功能为例,总结了开发过程中的四个典型问题及解决方案: 自增ID未回写导致缓存key拼接失败,通过配置MyBatis的useGeneratedKeys解决; 多对多关联断裂问题,通过先插入主表再设置中间表外键解决; 事务未配置导致数据不一致,使用@Transactional注解保证原子性; 同步清理缓存导致性能瓶颈,改用CompletableFuture异步处理。文章提供了完整的优化后代码实现,并提炼了面试中可复用的技术考点,包括MyBatis主键回写、多表操作顺序、事务管理和异步

2025-11-18 20:54:57 359

原创 苍穹外卖接口测试项目(基于 Java+TestNG+OkHttp)搭建与维护指南

本文介绍了基于Java+TestNG+OkHttp的苍穹外卖接口测试项目搭建指南。项目采用Maven构建,使用TestNG管理测试用例,OkHttp发送请求,通过YAML配置多环境参数,Gson处理JSON数据。文章详细说明了从环境准备、项目创建到依赖配置的全过程,包括JDK21、Maven3.6+等必备工具的安装验证,以及pom.xml依赖项配置。项目支持员工登录等接口的正反向测试,代码托管于Gitee便于协作维护。配置文件中定义了后端服务地址、接口前缀和测试账号等关键信息,为后续接口测试扩展提供基础框架

2025-11-09 19:49:01 670

原创 苍穹外卖系统核心实体关系设计:Category、Dish、Setmeal 解析

外卖系统核心实体关系设计 摘要:本文剖析了外卖系统中分类(Category)、菜品(Dish)和套餐(Setmeal)三大核心实体的数据模型设计。通过用户场景映射展示了实体间的业务价值:分类作为导航中枢,菜品满足单点需求,套餐实现组合优惠。文章详细列出了各实体的字段定义及业务约束,并建立了清晰的关联逻辑:分类通过type区分菜品/套餐类型,菜品和套餐分别通过categoryId关联对应分类,套餐与菜品还通过中间表形成多对多关系。这种设计既能满足用户浏览-选择-下单的完整流程,又为系统扩展性提供了基础架构支持

2025-11-02 20:38:10 465

原创 Redis常见问题“诊疗手册”:从苍穹外卖实战出发

本文针对Redis在高并发场景下的常见问题——缓存穿透与缓存击穿,结合苍穹外卖项目实战,提出具体的解决方案: 缓存穿透问题 现象:大量无效ID请求(如不存在的员工ID)穿透Redis直达数据库 解决方案:采用布隆过滤器+空值缓存双重防护机制 布隆过滤器拦截99.9%无效请求 空值缓存处理剩余0.1%误判请求 关键代码:项目启动时初始化布隆过滤器,业务层实现双重校验 缓存击穿问题 现象:热点Key缓存过期时,大量并发请求集中冲击数据库 解决方案:分布式锁+缓存重建机制 使用分布式锁确保只有一个线程重建缓存 其

2025-10-15 22:21:48 430

原创 Redis 布隆过滤器:从原理到实战

它是Redis生态里的“空间杀手”,用极小的内存(100万数据约1MB),快速排除“一定不存在”的元素,保护下游系统(缓存、数据库),唯一代价是“概率性假阳性”。

2025-09-25 00:06:50 630

原创 Spring Boot项目中Redisson版本冲突的解决方案

本文总结了Spring Boot项目中Redisson依赖冲突的排查与解决方案。当项目出现NoClassDefFoundError异常时,通过mvn dependency:tree命令分析发现Redisson 3.16.8与3.25.0版本冲突。解决步骤包括:1)在父POM统一管理依赖版本;2)清理重复依赖声明;3)创建配置属性类绑定参数;4)正确配置Redisson客户端。关键点在于多模块项目中要统一版本管理,通过依赖树分析冲突,并确保Spring Boot与Redisson版本兼容。建议新项目明确组件版

2025-09-21 07:38:11 1287

原创 【代码推送问题】使用IDEA推送项目到云效code up时报错

2.今年二月,重新Git了云效里的代码到本地修改,并且完成了本地API测试后准备推送时报错,云效中该分支代码未更新,具体如图。1.去年8月左右在云效建立了项目并顺利进行了代码编辑修改以及推送。使用IDEA修改代码后,推送代码失败。使用工具:Git,Idea,云效。修改设置里的GIT选项后再推送。

2023-02-12 06:30:22 846 1

原创 SSM项目演示---餐厅管理平台(V1.0.2)

网站地址:点击前往(试用账号在文章末尾)该项目基于Spring+SpringMVC+Mybatis实现,前端使用AdminLTE2框架实现,数据库使用Mysql。演示截图如下:拟实现的功能如下图(目前实现了部分,大体框架已搭建完毕,持续更新中):试用账号:管理员:WILK 123456餐厅管理员:餐厅管理员 123456普通用户:普通用户 123456...

2021-08-05 12:03:26 240

原创 SSM项目开发日记03-利用JSP自定义标签来实现JSTL转JSON对象

SSM项目开发日记03-利用JSP自定义标签来实现JSTL转JSON对象>>>2021-07-13出于需求,要在页面获取JSTL标签获取到的对象转成JSON对象操作。参考文章如下:《java对象转js对象_直到世界的尽头-优快云博客》接下来直接记录代码1.新建并编辑xf.tdl,在IDEA中的位置如下<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.or

2021-07-13 19:27:20 471

原创 SSM项目开发日记02-显示用户未读消息(顶部栏)

>>>2021-07-10部分代码参考自以下文章:《 JS根据时间戳计算多久之前_风度-优快云博客》需要在顶部栏添加未读消息按钮,点击按钮时可以查看未读消息列表,并且显示发信人名称,头像,简略内容,和显示多久之前。首先在AdminLTE框架中,找到图中位置的代码: <li class="dropdown messages-menu"> <a href="#" class="dropdown-toggle" data-toggle="

2021-07-10 14:12:35 465

原创 SSM项目开发日记01-使用JavaScript 存储对象(仅sessionStorage )来保存用户信息

Debug&优化日记01-使用JavaScript 存储对象(仅sessionStorage )来保存用户信息-SSM项目-餐厅管理平台>>>2021-07-08 周四需要在侧边栏以及顶栏查询当前登录的用户信息,并显示用户名,头像,未读信息列表,后续也会添加未处理任务列表关键代码:前端:使用JQuery Ajax进行post请求以获取数据,然后显示返回结果,关键JS如下(前端代码会在本文尾部贴出) $(document).ready(function () {

2021-07-08 04:00:07 644

原创 JDBC使用Mysql8.0的配置

JDBC使用Mysql8.0的配置当在IntelliJ IDEA中创建Mybatis项目时,遇到了以下问题:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class

2021-02-22 18:15:04 256

原创 软考复习-软件工程06-风险管理

风险管理风险特性软件风险包含两种特性:不确定性和损失。不确定性是指风险可能发生也可能不发生。损失指如果风险发生,就会产生恶性后果。量化风险的两个特性是风险分析的重点。风险类型项目风险:指预算,进度,人员,资源,利益相关者,需求等方面的潜在问题,以及它们对软件项目的影响。技术风险:威胁到要开发软件的质量以及交付时间。商业风险:威胁到要开发软件的生存能力。主要商业风险如下:市场风险:该...

2020-03-09 11:01:15 912 1

原创 软考复习-软件工程05-软件项目估算&进度管理

软件项目估算常用估算方法:基于已经完成的类似项目进行估算。基于分解技术计划进行估算。基于经验估算模型进行估算。成本估算方法自顶向下:从以前完成项目的总成本来估算现在的总成本,再进行分配。自底向上:先分别估算每个自认为所需要的开发工作量,最后再进行相加。差别估算方法:将待开发项目与已完成项目进行比对,找出其中差别所在,并估算每个差别对于成本的影响。专家估算法类推估算法算式...

2020-03-07 15:29:27 3999

原创 软考复习-软件工程04-系统测试

系统测试目的:以最少的人力和时间发现潜在的各种错误和缺陷。基本原则尽早并不断地进行测试。以便于在各个开发阶段发现问题,解决错误,消除隐患,降低风险。专人执行,避免由开发小组人员进行测试,保证测试客观性。设计测试方案时,要在确定输入参数,并预期正确情况下的输出结果的情况下进行测试。在设计测试用例时,除了设计合理的输入以预测结果外,也应设计不合理的输入并预期结果。在测试程序时,除去验证...

2020-03-06 09:21:42 719

原创 软考复习-软件工程03-系统设计

系统设计主要目的:在系统设计中,主要目的是为系统制定实施计划/方案。主要内容:新系统总体结构设计,代码设计,输入输出设计,处理过程设计,数据存储设计,用户界面设计,安全控制设计等。常用的系统设计方案有两种:1.面向数据流的结构化设计方法。2.面向对象的分析方法。系统设计基本任务基本上可以分为概要设计和详细设计两个阶段。概要设计设计软件系统总体结构其基本人是采用某种设计方法,将一个复杂的系...

2020-03-03 16:49:02 363

原创 软考复习-软件工程02-需求分析

需求分析的定义也称为软件需求分析、系统需求分析或需求分析工程等,简单来讲,就是由开发人员对用户需求软件的功能,性能等具体要求,将对目标软件所需要实现的功能或者非功能的需求,转化为完整的,规范的需求定义,用以确定系统功能的过程。...

2020-03-03 14:59:13 956

原创 软考复习-软件工程01-开发模型

瀑布模型特点:线性结构,由前至后,互相连接,逐级下落。优点:易于理解,阶段清晰,便于管理跟踪控制。不足:早期阶段要求用户需求明确完整,开发过程可逆性差,开发过程中的问题容易累积扩散。各个阶段的划分是完全固定的,因此需要大量的文档(也有一种说法,该模型是由文档来驱动的),工作量大。适用范围:开发过程中需求变化小或者无变化。开发环境稳定。低风险项目。快速原型模型特点:快速构...

2020-02-28 10:58:51 459 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除