- 博客(40)
- 收藏
- 关注
原创 RabbitMQ
执行失败 → 不 ACK / NACK。RabbitMQ 重启 → 重新投递。✅ 消息可能丢失(消费失败但已确认)没有 Queue 绑定 → 消息丢弃。消费者离线 → 非持久化队列消息丢失。精确匹配 Routing Key。不使用 Routing Key。✔ Exchange 持久化。实际项目中一般作为入门示例。✔ Message 持久化。消费者断开 → 重新入队。所有绑定队列都会收到消息。一个生产者,一个消费者。业务逻辑执行成功 →。处理完 → 再取新消息。❓ 如何防止消息堆积?✔ Queue 持久化。
2026-05-15 20:20:05
311
原创 Elasticsearch全文检索服务器
Elasticsearch 是一个 **基于 Lucene 的分布式全文检索引擎**。| 正排索引 | 文档 → 关键词 | 翻书找内容 || 倒排索引 | 关键词 → 文档 | 查字典目录 |**搜索是从 Term 列表匹配,而不是全文扫描**- `stopword.dic`:停用词(的、地、得)**Elasticsearch(ES)优势:****单节点环境 replicas 必须为 0**"name": "Python从入门到放弃"✅ 常用于:搜索、日志分析、大数据分析。
2026-05-11 20:41:13
445
原创 Nginx
Nginx(Engine X)是一款高性能的Web 服务器 和反向代理服务器,由俄罗斯工程师 Igor Sysoev 开发,采用C 语言编写。✅ Nginx 是高性能服务器✅ 常用于反向代理 + 负载均衡 + 动静分离✅ 生产环境强烈建议使用Redis 解决 Session 共享问题如果你觉得这篇文章对你有帮助,欢迎 👍后续我会继续更新 Nginx 高级配置与高可用方案。
2026-05-07 20:27:00
365
原创 什么是 Git
Git 是一个分布式版本控制系统,由 Linux 创始人 Linus Torvalds 开发。它能够:跟踪文件变化支持多人协作开发管理项目历史版本轻松切换不同版本。
2026-04-29 20:23:58
453
原创 MySQL 调优
慢 SQL 优化→ 2.索引优化→ 3.配置调优→ 4.架构升级90% 的性能问题都能在前两步解决。调优先找慢 SQL,不要上来改配置索引是性能关键,联合索引 + 最左前缀是核心InnoDB 缓冲池是最关键配置高并发最终靠读写分离 + 分库分表 + 缓存解决。
2026-04-24 21:26:15
363
原创 Gateway
硬编码问题:前端需要知道每个微服务的 IP 和端口无负载均衡:无法在多个实例间分配请求跨域问题:每个服务需单独处理认证授权分散:每个服务重复实现登录校验限流熔断复杂:需在每个服务集成监控困难:请求分散,难以统一收集日志和指标二、Gateway 核心概念补充1. 三大核心概念 路由(Route):转发的规则,包含ID、目标URI、断言、过滤器断言(Predicate):匹配条件(如路径、时间、Cookie等)过滤器(Filter):请求处理链(修改请求/响应)特性GatewayZuul
2026-04-23 21:28:38
260
原创 Sentinel
在微服务架构中,服务之间存在着复杂的调用关系。当一个服务发生故障时,如果没有适当的保护措施,可能会导致连锁反应,引发服务雪崩效应。典型场景上游服务(调用方) → 当前服务(被调用方) → 下游服务(依赖方)当前服务既要防止被上游的流量压垮,也要避免被下游的故障拖垮@Bean@BeanSentinel 作为一款强大的流量控制组件,在微服务架构中扮演着"守护者"的角色。防止服务雪崩:通过熔断降级机制保障系统稳定:通过流量控制机制提升用户体验:通过优雅降级策略便于运维管理:通过规则持久化和动态配置。
2026-04-22 21:15:07
414
原创 Feign 优化
feign:enabled: true # 开启连接池(默认true)max-connections: 200 # 最大连接数max-connections-per-route: 50 # 每个路由最大连接数连接池是 Feign 性能核心,必须开启超时配置注意拼写正确,支持全局 / 单服务精细化配置GZIP 压缩大幅减少网络传输耗时日志用于调试,生产精简级别负载均衡推荐响应时间加权策略。
2026-04-21 20:46:35
258
原创 Spring Cloud Alibaba
本文全面解析了Feign声明式服务调用与Ribbon负载均衡的核心技术。Feign作为声明式HTTP客户端,通过接口+注解方式简化服务调用,支持多种参数传递方式,并内置Ribbon实现负载均衡。Ribbon提供多种负载策略(轮询、随机等)和灵活配置,可与服务发现组件无缝集成。文章详细介绍了二者的集成配置、最佳实践和常见问题排查,包括超时设置、熔断降级等关键场景。通过Feign+Ribbon的组合,开发者能够构建高效可靠的微服务通信体系,其中Feign简化调用过程,Ribbon保障服务可用性,二者协同工作可显
2026-04-17 22:03:26
452
1
原创 Nacos
直接在 Navicat/DBeaver 中运行,自动创建 Nacos 所需表。发布一条配置 → 去 MySQL 的。表中查看,数据已写入即成功。查看集群状态:访问任意节点。能看到 3 个节点均为。
2026-04-16 21:15:59
278
原创 ICAN_PARENT
模块化设计:清晰的工程结构,便于团队协作和维护Redis应用:验证码存储、图片去重、缓存优化Excel处理:批量导入预约设置,提高操作效率Quartz集成:定时清理垃圾图片,资源优化Security安全:完善的权限控制体系前后端分离:移动端和后台管理端独立开发数据关联:套餐-检查组-检查项三级关联,灵活配置这套健康体检预约系统采用了现代化的技术栈,具备良好的可扩展性和可维护性,适合中大型体检中心的数字化管理需求。
2026-04-10 21:12:12
178
原创 Redis
自动分片:16384个槽位,自动数据分布高可用:主从复制,故障自动转移线性扩展:可动态增加节点客户端透明:自动重定向,无需代理数据一致性:异步复制,最终一致性。
2026-04-01 20:57:10
223
原创 Redis
Redis 是一个用 C 语言编写的、高性能的键值对(Key-Value)数据库。它支持多种数据结构(字符串、哈希、列表、集合、有序集合等),并提供了持久化、主从复制、事务等功能。:数据主要存储在内存中,读写速度极快(读:~110,000次/秒,写:~81,000次/秒),能轻松支撑高并发访问。c. 主节点将生成RDB期间的写命令缓存并发送给从节点,从节点执行这些命令以保持同步。:数据存储在硬盘,面对高并发(如每秒数万次查询)时,I/O会成为性能瓶颈。:主节点负责写,从节点负责读,分担主节点压力。
2026-03-31 22:21:45
228
原创 Spring Boot
零配置启动:只需添加依赖,Spring Boot自动完成Bean的创建和配置条件装配:根据类路径、Bean存在情况、配置文件等条件智能装配可覆盖性:支持通过自定义Bean覆盖自动配置按需加载:通过starter机制实现依赖的自动传递和版本管理外部化配置:支持通过进行个性化配置。
2026-03-27 21:25:35
361
原创 Spring Boot整合全局异常处理器、junit、多环境、logback
异常处理:前后端分离项目使用单元测试:使用注解,支持依赖注入多环境配置:通过和管理日志配置:使用,支持多环境不同日志级别最佳实践:生产环境关闭调试日志,使用文件日志并配置滚动策略。
2026-03-26 21:29:04
290
原创 Spring Boot
并不是对 Spring 功能的增强,而是提供了一种快速开发 Spring 应用的方式。核心特点✅简化配置:大幅度减少 XML 配置✅简化 Maven 依赖:通过 starter 依赖简化配置✅内嵌 Web 服务器:内置 Tomcat、Jetty 等✅自动配置:根据依赖自动配置 Spring✅独立运行:可直接运行 Java 应用程序Spring 纯注解配置:使用注解替代 XML 配置Spring Boot 核心概念:简化配置、快速开发入门实战:从零创建一个 Spring Boot 项目。
2026-03-25 21:20:43
407
原创 Spring MVC
Component@Overridetry {// 严格模式// 尝试下一个模式throw new IllegalArgumentException("无法识别的日期格式: " + source);/*** 前置处理:在控制器执行前调用*/@Override// 未登录,重定向到登录页// 中断请求// 放行/*** 后置处理:在控制器执行后,视图渲染前调用*/@Override// 可修改ModelAndView/**
2026-03-19 21:11:48
261
原创 Spring_MVC
a href="/account/findAccount10/tom/us">restful类型</a>账户地址:<input type="text" name="address"><br/>账户金额:<input type="text" name="money"><br/>账户名称:<input type="text" name="name"><br/>账户密码:<input type="text" name="pwd"><br/>五、参数接收(jsp---参数---->controller)
2026-03-18 21:22:23
343
原创 Spring MVC
Spring MVC 是 Spring Framework 的一个组成部分,是一个基于 MVC 设计模式实现的、请求驱动型的轻量级 Web 框架。它的核心是围绕(前端控制器)设计的,这个 Servlet 作为统一的请求入口,负责协调各个组件完成请求处理的全流程。核心工作流程(简化版)用户发起请求,被接收。查询一个或多个,找到处理该请求的处理器(通常是中的一个方法)。将请求交给找到的处理器(Handler)执行。处理器调用业务逻辑(Service),处理完成后返回一个。
2026-03-17 21:00:15
308
原创 Spring
AOP:全称是Aspect Oriented Programming即:面向切面编程。简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对程序进行增强:权限校验,日志记录,性能监控,事务控制.作用:通过代理可以控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。(即: AOP的微观实现!核心角色抽象角色(接口):定义公共对外方法真实角色(周杰伦):实现抽象角色,定义真实角色所要实现的业务逻辑。
2026-03-13 21:33:41
430
原创 Spring
Spring是一个轻量级的JavaEE应用开源框架,由Rod Johnson创建。它通过依赖注入(IoC)和面向切面编程(AOP)等特性,简化了企业级Java应用的开发。
2026-03-12 21:22:57
160
原创 【无标题】
IOC (Inverse of Control)即控制反转:正传是自己创建依赖对象;反正是有IOC工厂来创建依赖对象;原来:我们在获取对象时,都是采用new的方式。是主动的。现在:我们获取对象时,同时跟工厂要,有工厂为我们查找或者创建对象。是被动的。
2026-03-11 21:28:15
202
原创 mybatis
补充要点:关键词:关键词: XML 写法和一对多完全一样,也是用 + 一句话记:参数说明:2. where 自动去掉多余的 AND / OR3. set 用于 update,自动去掉多余逗号4. trim 前缀、后缀、覆盖多余字符5. foreach(批量必备)collection 取值:
2026-03-09 21:03:47
209
原创 Mybatis
{} Statement 不转换 ${value} 不防止。<result column="role_name" property="roleName"></result> //非主键字段。<id column="id" property="id"></id> //主键字段。--通过接口引入单个映射文件-->--通过接口批量引入映射文件-->--单个定义别名-->--批量定义别名-->--直接引入单个映射文件-->
2026-03-05 21:14:42
403
原创 Mybatis
WHERE id=#{id} AND username=#{usename} //#{对象的属性名}WHERE id=#{id} AND username=#{sb} //#{map的key}WHERE id=#{id} AND username=#{sb} //#{注解的属性值}WHERE id=#{id} //#{}是占位符,用于替换实际的参数,等价于jdbc的?keyProperty="id":回填到User的id属性上。keyProperty="id":回填到user的id属性上。
2026-03-04 21:25:39
305
原创 Map接口
Map与List、Set接口不同,它是由一系列键值对组成的集合,提供了key到Value的映射。同时它也没有继承Collection。在Map中它保证了key与value之间的一一对应关系。也就是说一个key对应一个value,所以它不能存在相同的key值,当然value值可以相同。实现map的有:HashMap、TreeMap、HashTable、Properties。
2026-01-24 17:57:48
552
原创 Set集合
Set 接口核心:元素不可重复,无索引,不同实现类的核心差异在有序性和排序性;HashSet 判重:必须同时重写hashCode()和equals(),缺一不可;TreeSet 排序:要么元素实现Comparable(自然排序),要么创建时传入Comparator(定制排序),返回 0 表示元素重复。
2026-01-16 21:22:18
617
原创 List集合
ArrayList是List接口基于变长数组的实现;set和get数据速度快,而add或者remove元素时需要移动数据速度比较慢LinkedList是List接口基于双向链表的实现;add或者remove速度快,而set或get时需要从头开始索引速度比较慢。
2026-01-15 21:32:32
312
原创 JAVASE
2、接口的特点(1).接口(interface)中只能定义全局常量和抽象方法(2).接口中不能定义构造器不可以实例化(3).Java类可以实现多个接口(4).接口与接口之间可以继承,而且可以多继承4、jdk8接口的新特性Java8中,你可以为接口添加静态方法和默认方法。从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念。
2026-01-12 09:00:30
565
原创 子查询 事务
自查询:一个select包含另一个select案例:#查询在‘武汉’工作过的员工信息select deptno from dept where loc='武汉'select deptno from dept where loc='武汉'select e.* from emp e join dept d on e.deptno=d.deptno and d.loc='武汉'#查询比‘阿朱’工资高的员工信息。
2025-12-31 08:39:45
575
原创 数据库的介绍
数据库管理系统(DataBase Management System,简称 DBMS):管理数据库的软件(即mysql、oracle)删除环境变量“MYSQL_HOME”和 path中的“%MYSQL_HOME%\bin”新建变量:MYSQL_HOME:D:\mysql-5.7.24-winx64。管理员运行cmd:mysqld --initialize-insecure。数据库管理系统(mysql)------>数据库---->表---->数据。删除D:\mysql-5.7.24-winx64。
2025-12-25 21:30:50
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅