- 博客(64)
- 收藏
- 关注
原创 高并发熔断限流方案设计-高频问题
项目的核心服务链路如何划分?哪些环节部署了熔断保护?如何避免单点故障?能详细解释Sentinel的熔断机制吗?熔断触发后如何优雅降级。
2025-09-02 09:06:13
857
原创 分布式锁设计实战:多级缓存防御设计优化同步性能
分布式锁设计实战:多级缓存防御设计优化同步性能本地缓存+JVM层的双重检查锁(Double-Checked Locking)是一种在多线程环境下优化同步性能的设计模式,主要用于减少锁竞争和提高缓存访问效率
2025-08-25 09:20:07
862
原创 实战架构思考及实战问题:Docker+Jenkins 自动化部署
CI/CD流程docker容器出现OOM解决方案docker镜像大小优化实现方案 容器化部署后,如何监控JVM性能指标实践
2025-08-18 17:08:42
1152
原创 Redis集群设计实战:从90%缓存命中率看高并发系统优化
Redis集群设计实战如何设计跨机房容灾方案?同步复制与异步复制的权衡点?如何设计热点Key的分布式锁(如Redisson+本地缓存)?
2025-08-16 11:10:15
810
原创 ShardingSphere实战架构思考及优化实战问题
数据发生变更时,如何保证分片缓存(Redis)与数据库的一致性?在多级缓存架构下,如何设计缓存键才能避免分库分表带来的键冲突?如何快速定位由分库分表引起的慢查询问题?请描述你的排查工具链?当某个分片数据库宕机时,如何实现查询降级策略?
2025-08-15 15:41:16
1143
2
原创 Netty核心知识点
Netty的客户端服务端执行流程EventLoopGroup工作机制EventLoop工作机制ByteBuf内存管理零拷贝
2025-08-11 13:37:10
1108
原创 Netty知识储备:BIO、NIO、Reactor模型
首先阐述了阻塞/非阻塞、同步/异步的区别,以及Java BIO与NIO的对比:BIO采用同步阻塞模式,线程在I/O操作时会完全阻塞;NIO则通过Channel、Buffer和Selector实现非阻塞I/O。重点分析了两种通信模型:BIO的Acceptor线程模型通过主线程接收连接、工作线程处理I/O;NIO的Reactor模型利用多路复用技术实现单线程监听多连接。详细解析了select和epoll的底层实现机制,并介绍了单线程和多线程Reactor的工作流程。
2025-08-07 13:43:09
765
原创 架构-nginx必须考虑因素
nginx部署个数,受限于哪些因素为什么建议单独部署nginx单机有哪些限制worker_connections 默认是多少,设置规则是怎么样的,设置太大会怎么样nginx的内存消耗如何优化?nginx的磁盘I/O瓶颈如何解决?nginx的CPU消耗如何优化?
2025-07-22 15:38:31
1034
原创 如何保证缓存数据的一致性:数据库和缓存数据一致性,本地缓存和Redis缓存怎么保证数据一致性
多级缓存,本地缓存和Redis缓存怎么保证数据一致性?分布式缓存与数据库如何保证一致性?
2025-07-18 09:05:08
1455
原创 分布式事务Seata-核心问题
Seata三大组件的协作流程本地事务和分支事务的关联分支事务中如何保证数据一致性TC如何收集分支事务的状态Seata四种分布式事务模式TCC模式在业务中如何实现?如何确保Confirm和Cancel阶段的幂等性Seata框架如何内置重试补偿机制
2025-05-23 13:58:53
644
原创 sentinel核心原理-高频问题
本文详细介绍了限流实现机制中的滑动窗口算法、责任链模式和熔断降级策略,以及QPS限流、并发线程数限流和冷启动规则的实现原理。滑动窗口算法通过动态统计QPS避免固定窗口的边界问题,责任链模式通过Slot链式处理限流逻辑,熔断降级策略则基于慢调用比例和异常
2025-05-19 16:18:50
1291
原创 微服务如何实现服务的高可用
微服务实现高可用主要依赖于集群冗余和故障自动转移机制。具体方案包括:客户端到反向代理的高可用通过Keepalived+VIP实现虚拟IP漂移;反向代理到站点应用的高可用通过Nginx的负载均衡和故障转移实现;站点应用到微服务的高可用通过连接池技术、熔断限流等实现;微服务到缓存的高可用通过分层缓存架构和RedisCluster实现;微服务到写库的高可用通过双主或主从+keepalived实现自动故障转移;微服务到读库的高可用通过读写分离和自动故障转移实现。这些方案共同确保了微服务系统的高可用性和高并发处理能力
2025-05-14 10:38:32
1017
原创 微服务,服务粒度多少合适
项目服务化通过提高代码复用性、专注性、解耦合、高质量、易扩展和高效率,显著提升了系统开发和维护的效率。微服务拆分策略建议统一服务层,按子业务、库或接口划分服务,优先采用领域驱动设计(DDD)划分服务边界。在实践场景中,拆分单体系统应识别核心业务链路,优先拆分高频变更模块,并逐步演进。服务粒度的权衡需考虑性能需求和业务复杂度。技术实现上,保证数据一致性可采用Saga模式和最终一致性策略,服务通信设计则建议外部标准化使用RESTful API,内部高性能通信使用gRPC/Dubbo。
2025-05-13 14:19:43
539
原创 拦截器(HandlerInterceptor)中获取请求参数
拦截器(HandlerInterceptor)中获取请求参数HttpServletRequestWrapper
2025-05-08 15:04:18
1086
原创 接入层架构演变
(1)单体架构,要解决性能扩展问题,早期,使用DNS轮询架构;(2)现在,可以使用nginx反向代理架构;(3)反向代理,不高可用,需要进一步升级为高可用反向代理架构;(4)高可用反向代理,扩充性能,可以使用多级(LVS&F5)反向代理架构;(5)多级反向代理架构,扩充到无限性能,使用DNS轮询架构;(6) DNS轮询,解决性能扩展问题;VIP+keepalived,解决高可用问题;
2025-04-29 21:07:56
500
原创 分布式事务-Seata
二是框架在JDBC层拦截SQL,自动记录数据变更前后的快照,回滚时用这些快照生成逆向SQL,完全无需业务干预。2、在不改变任何配置文件下,在bin文件夹下就可以直接启动。这样就可以使用了,一下是启动指令,如果seata安装地址在本地可以不知道ip地址(省去 -h <ip地址> )6、到此安装配置成功,在bin文件夹下 执行启动指令 ./seata-server.sh -h <ip地址> -port 8091。4、到nacos添加相关配置文件,文件名保持和上图标注的一样,一下是配置的相关信息。
2025-04-28 13:40:51
916
原创 开发遇到的问题-编译报错
发现maven使用的是jdk1.8.这边没有改过来。jdk8升级到jdk17:编译的时候报以下错误。查看mvn对应的使用jdk版本。
2025-04-11 17:23:08
892
原创 Linux 安装 Nacos
3、进入到所在安装路径(/usr/local/nacos/bin/)进行更改启动文件。4、手动创建数据库库,数据库名称如配置文件中所配置的,并执行config的SQL文件。4、进入配置文件夹修改配置文件(/usr/local/nacos/conf/)2、将安装包放在安装路径下,我所放的路径/usr/local/,使用。linux版本cenos7 ,nocos版本2.2.1。
2025-04-10 10:33:55
1687
原创 Windows版-RabbitMQ自动化部署
一键完成Erlang环境变量配置(ERLANG_HOME系统变量)。一键完成RabbitMQ环境变量配置(RabbitMQ系统变量)。自动化部署脚本(install_rabbitmq_v12.ps1)1、如果登入的时候,出现下面这个,需要把旧的默认管理员删除。执行上述脚本如果出现以下日志代表安装成功。实现快速安装部署RabbitMQ。
2025-04-08 14:33:48
373
原创 SpringBoot启动原理-ApplicationListener
监听器干嘛用的?事件类型有哪些?监听器执行时机是什么时候?底层原理是怎么实现的?是否使用了设计模式,如果使用了,都有哪些角色?监听器实现方式?监听器应用场景
2025-03-24 10:58:21
1066
原创 SpringBoot启动原理-ApplicationContextInitializer
ApplicationContextInitializer为什么需要这个接口初始化器如何初始化,作用是什么,执行时机
2025-03-21 13:59:02
836
原创 SpringBoot启动原理
Spring Boot 的启动流程可以概括为:通过 `SpringApplication.run()` 初始化应用上下文,加载自动配置类,并启动内嵌 Web 服务器。核心机制包括:- @SpringBootApplication 注解组合了配置、组件扫描和自动配置;- 自动配置通过条件注解按需加载 Bean,依赖 `spring.factories` 定义;- Starter 简化依赖管理,内嵌容器实现开箱即用。实际开发中,可以通过优化组件扫描范围、禁用非必要配置、懒加载等方式提升启动速度。
2025-03-17 14:04:09
898
java+redis 断点续传
2025-09-03
Windows版+RabbitMQ安装包+自动化安装部署脚本
2025-04-08
yum相关安装包-linux系统
2023-02-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅