框架
文章平均质量分 91
jakeswang
要有一颗奋进的心
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis 总出问题?10 类高频坑 + 通俗解法,一篇搞定优化
Redis常见问题与优化方案 摘要:针对Redis使用中的常见问题,本文总结了10类典型场景的优化方案: 1.内存优化:设置自动过期、清理僵尸key、合理淘汰策略 2.CPU优化:禁用慢命令、主从分离、关闭非必要功能 3.大key处理:拆分key、使用unlink删除 4.模糊查询:使用scan代替keys 5.持久化平衡:合理配置RDB/AOF参数 6.主从同步:设置写入条件避免脑裂 7.集群扩展:分槽存储扩容方案 8.缓存问题:应对穿透、击穿、雪崩的方案 9.监控优先:先分析再优化 10.简单优先:先尝原创 2025-11-14 15:07:04 · 919 阅读 · 0 评论 -
如何保证分布式锁的高可用和高性能?
本文深入探讨了分布式系统中的核心挑战——数据一致性,重点分析了分布式锁的实现与优化方案。首先介绍了基于Redis的分布式锁基础模型(SETNX+DEL),并指出其存在的问题:死锁风险、锁等待策略、锁续约机制等。随后详细讲解了锁续约(看门狗机制)和原子化释放锁的实现方法。在高阶方案部分,介绍了Redlock算法及其主从复制问题解决方案,并讨论了性能优化策略如Singleflight模式和本地锁交接。最后指出分布式锁并非万能,可考虑乐观锁、一致性哈希等替代方案。文章强调分布式锁设计需要平衡可靠性与性能,理解其背原创 2025-11-14 15:05:50 · 893 阅读 · 0 评论 -
ServletLess架构简介
摘要:ServletLess(Serverless)架构正改变应用构建方式,让开发者专注业务逻辑而非基础设施。本文对比了传统架构与ServletLess的核心差异,详细解释了其事件驱动、弹性伸缩和按量付费的特点。通过AWSLambda搭建图片处理服务的实例,展示了从环境配置到部署测试的全流程。特别探讨了ServletLess与AI结合的潜力,如异步推理、智能客服等场景。针对现有SpringCloud系统的改造,提出了三种策略并着重介绍了基于SpringCloudFunction的平滑迁移方案,涵盖依赖调整、原创 2025-11-12 14:54:37 · 1031 阅读 · 0 评论 -
Jenkins 已成过去式!新兴替代工具GitHub Actions即将崛起
Jenkins作为传统CI/CD工具正面临性能瓶颈、插件维护困难、云原生支持不足等挑战。相比之下,GitHub Actions凭借与GitHub生态深度集成、YAML配置简单、原生支持多平台和容器等优势,成为现代化替代方案。文章详细对比了两者差异,并提供了从Jenkins迁移到GitHub Actions的具体方法,包括配置转换示例和迁移工具推荐。随着云原生技术发展,GitHub Actions等新型工具更符合现代开发需求,建议开发者尝试迁移以提升CI/CD效率。原创 2025-10-28 19:04:58 · 1327 阅读 · 0 评论 -
告别繁琐!Java日志脱敏新姿势,Sensitive框架来袭
Sensitive 是一个基于 Java 注解的日志脱敏工具框架 ,由 houbb 开发,它就像是一个细心的信息守护者,默默地为 Java 应用的日志处理加上了一层安全锁。通过简单易用的注解,它能够在日志记录的过程中,精准地识别出敏感信息,并按照预设的规则进行脱敏处理,从而有效地保障用户隐私和数据安全,为我们的应用程序保驾护航。接下来,我们以一个用户实体类User为例,来看看如何使用注解标记敏感字段。原创 2025-10-26 10:49:42 · 1002 阅读 · 0 评论 -
架构师必备:缓存更新模式总结
摘要:本文系统总结了四种缓存更新模式及其适用场景。1)旁路缓存(Cache-Aside):先查缓存后查DB,更新时先更新DB再删缓存,热点数据可预刷新;2)异步写回(Write-Back):先写缓存后异步更新DB,适合高QPS场景;3)穿透模式(Read/Write-Through):由存储服务维护缓存一致性,实际应用较少;4)持续优化方案:多级缓存、异构数据、逻辑过期等。核心建议:大部分场景使用旁路缓存,热点数据预刷新;高并发场景采用异步写回;强一致场景直接查DB。系统设计需结合业务特点进行优化。原创 2025-09-15 19:12:16 · 960 阅读 · 0 评论 -
MyBatis 增强框架对比:MyBatis-Plus vs MyBatis-Flex 实战选型
本文对比了MyBatis-Plus和MyBatis-Flex两大MyBatis增强框架的核心能力与实战应用。测试显示MyBatis-Flex查询性能略优(快10%左右),内存占用更低;MyBatis-Plus插件生态更丰富。MyBatis-Plus采用接口继承方式实现CRUD,学习成本低;MyBatis-Flex通过APT生成代码,支持更灵活的DSL查询语法,在多表关联场景优势明显。选型建议:追求稳定性和插件生态选MyBatis-Plus,需要处理复杂查询或注重性能选MyBatis-Flex。迁移时可采用渐原创 2025-09-15 15:38:18 · 2675 阅读 · 0 评论 -
SpringCloud feign工作原理
摘要:Spring Cloud Feign是一个基于动态代理的声明式HTTP客户端,通过注解简化微服务间调用。其工作原理包括:1)启动时扫描@FeignClient注解生成代理对象;2)解析方法注解构建HTTP请求;3)通过底层HTTP客户端(可配置)发送请求;4)集成负载均衡和服务发现;5)支持熔断降级机制。相比直接使用RestTemplate,Feign使代码更简洁、易维护,支持类似本地方法的远程调用方式,并提供了超时配置、日志等特性。核心优势在于将HTTP调用封装为接口方法,结合Spring生态实现完原创 2025-09-12 06:45:00 · 1260 阅读 · 0 评论 -
当 Redis 存储 2 亿个 key,如何精准定位 20w 个含特定后缀的目标?
【Redis海量数据筛选方案】在处理2亿个key中筛选20w特定后缀key时,KEYS命令因全量遍历会导致服务阻塞,严禁生产使用。推荐方案:1)使用SCAN命令配合游标分批扫描,通过MATCH匹配后缀和COUNT控制批次,实现非阻塞查询;2)高频需求建议采用Set集合构建索引,写入时同步维护索引集合;3)低频离线操作可在从节点执行。架构层面优化优先考虑事前索引,避免事后全量扫描。SCAN方案示例代码展示了安全的分批扫描实现方式。原创 2025-09-11 06:30:00 · 1890 阅读 · 0 评论 -
线上频繁FullGC?慌得一比!竟是Log4j2的这个“特性”惹得祸
本文记录了一次线上频繁FullGC问题的排查过程。系统在升级后出现每分钟超过5次FullGC的异常情况,通过分析GC日志和内存快照,发现是由于Log4j2配置不当和JVM参数设置问题共同导致。根本原因是系统误引入Servlet依赖,导致Log4j2线程缓存失效,每次日志打印都创建2MB的StringBuilder对象,加上JVM参数"-XX:PretenureSizeThreshold=2097152"的设置使这些大对象直接进入老年代,快速填满老年代空间。解决方案包括调整Log4j2配置原创 2025-09-10 16:10:41 · 1495 阅读 · 0 评论 -
Redis 不只是缓存!Java 打工人必知的 10 个真实工作场景
本文分享了10个Redis在Java项目中的实用场景:1)限流防崩,2)分布式锁防重复订单,3)延时任务处理超时订单,4)实时热点数据统计,5)异步消息队列,6)全局唯一ID生成,7)用户在线状态管理,8)防重提交,9)会话存储,10)秒杀库存预减。这些方案能有效应对高并发、数据一致性等问题,提升系统性能和用户体验。Redis适合数据量不大但访问频繁的场景,对于大数据量仍需专业解决方案。原创 2025-09-10 15:45:41 · 1008 阅读 · 0 评论 -
Redisson分布式锁深度解析:加锁/解锁的底层机制与源码级实现
Redis分布式锁实现原理:通过Hash结构存储锁名、线程标识和重入次数,Lua脚本保证原子性操作。加锁时自动续期(看门狗机制),解锁时递减计数并通知等待线程。支持可重入和公平锁(ZSET排队)。核心特性包括原子性操作、自动续期和线程安全,确保分布式环境下锁的可靠性和高效性。原创 2025-09-11 06:00:00 · 600 阅读 · 0 评论 -
如何用AI Coding和Claude Code提升开发效率?看我的全流程复盘
本文分享了作者使用AICoding工具(特别是ClaudeCode)提升开发效率的经验。重点包括:1)Prompt工程技巧,强调清晰的需求描述和结构化表达;2)合理划分AI任务边界,建议仅将明确需求且能力范围内的任务交给AI;3)小步快跑开发策略,强调代码可验证性和模块化;4)AI代码必须人工Review,建议防御性编程;5)有效管理上下文的方法,包括信息压缩和外部记忆辅助;6)ClaudeCode使用经验,介绍了其原理、安装、工作流程和多实例协同技巧。作者还展示了ClaudeCode在旅游规划、PPT制作原创 2025-09-10 10:35:03 · 1442 阅读 · 0 评论 -
静态多数据源配置
(或称为物理隔离)的标准做法-不使用动态切换的方式,使用扫描不同包路径,使用不同DataSource,初始化不同SqlSessionFactory分别实现对应业务。这种做法通过DataSource来实现清晰的管理和彻底的隔离。下面我用一个表格对比静态配置和动态数据源路由的主要区别,帮助你更好地理解这种方案的特点:特性维度静态多数据源配置 (你提出的方案)动态数据源路由 (作为对比参考)每个数据源有的和,其背后数据源根据条件Mapper 接口和 XML 文件按数据源在不同目录。原创 2025-09-08 10:36:41 · 735 阅读 · 0 评论 -
全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析
MySQL死锁问题解析与优化方案 摘要:本文深入分析了MySQL死锁问题,从事务隔离机制、锁类型与粒度入手,揭示了死锁成因(顺序不一致、间隙锁冲突等)。针对高频死锁场景提供了五维防御策略:索引优化、事务设计、批量操作优化等,并结合典型案例提出解决方案。文章指出理解事务ACID特性、MVCC机制及InnoDB锁原理(记录锁/间隙锁/临键锁)是预防死锁的关键,建议通过规范加锁顺序、控制事务粒度、合理设置隔离级别等措施,结合SHOW ENGINE INNODB STATUS等工具进行监控优化。(149字)原创 2025-09-08 09:31:47 · 1161 阅读 · 0 评论 -
细说分布式ID
本文探讨了分布式ID生成方案,对比分析了MySQL自增ID和UUID作为主键的优劣,指出自增ID顺序写入性能高但依赖数据库,UUID随机写入效率低。重点介绍了基于Snowflake算法的改进方案:美团Leaf通过Zookeeper分配workerId并解决时钟回拨问题;百度UidGenerator采用原子自增时间戳和预生成缓存环提升性能。文章最后总结了各方案特点,为高并发场景下的分布式ID生成提供了技术参考。原创 2025-09-07 19:38:06 · 1230 阅读 · 0 评论 -
标签系统的架构设计与实现
本文介绍了基于云原生架构的用户标签系统设计与实现。该系统通过整合用户静态和动态数据,构建精准的用户画像,支持企业精细化运营与智能决策。文章详细阐述了标签系统的核心功能模块(标签定义、计算引擎、模型管理、交互式服务等)和分层架构设计(数据采集、存储、计算、应用层)。关键技术包括:1)基于ANTLR的标签公式解析;2)Spark大规模离线计算与Elasticsearch实时计算结合;3)多层级树形模型评分;4)多存储系统数据同步。该系统采用微服务架构,具有高扩展性和灵活性,为企业构建用户画像平台提供了完整解决方原创 2025-09-05 16:06:22 · 1954 阅读 · 0 评论 -
携程旅游的 AI 网关落地实践
【摘要】携程研发总监董艺荃分享AI网关建设经验:为解决大模型服务接入中的多源认证、费用管理、流量治理等问题,携程基于开源项目Higress构建AI网关,通过统一管理模型路由、认证鉴权、限流熔断等功能,实现多模型服务的高效接入。网关采用K8s原生架构,支持Wasm插件扩展,并创新性地开发了HTTP到MCP服务的协议转换能力。目前已稳定支撑大规模模型调用,未来将持续优化路由规则、输出处理等能力,深化AI与网关的融合。(149字)原创 2025-08-22 11:12:55 · 944 阅读 · 0 评论 -
应用缓存不止是Redis!——亿级流量系统架构设计系列
本文深入探讨了缓存技术的核心原理与应用实践。从缓存基础概念到多级架构设计,详细解析了命中率、回收策略等关键指标,对比了Guava、Ehcache等主流框架特性。通过Cache-Aside、Read-Through等典型模式分析,结合NULL缓存、双删策略等高级技巧,提供了完整的缓存解决方案。文章还针对穿透、击穿、雪崩三大问题给出防护措施,并探讨了堆外缓存等性能优化方案,为构建高性能系统提供了实用指南。最后强调需根据业务场景选择合适策略,实现缓存效果最大化。原创 2025-08-19 19:41:18 · 1624 阅读 · 0 评论 -
Kafka之所以能抗住亿级并发
Kafka凭借分布式架构和极致优化实现亿级并发:1)分区化设计实现并行读写,集群动态扩容;2)顺序I/O+零拷贝技术突破磁盘瓶颈,吞吐接近内存速度;3)批处理与压缩提升有效传输效率;4)副本机制保障高可用。核心通过分区并行、高效I/O、批处理压缩三大技术协同,配合合理配置与硬件资源(SSD/大内存/高速网络),实现超高性能。其设计精髓在于将分布式架构优势与单机性能压榨完美结合。原创 2025-08-19 19:39:43 · 1037 阅读 · 0 评论 -
微服务如何保证系统高可用?
举个例子,我入职的第一个月,就经历了一次比较严重的线上故障:当时另一个业务组突然上线了一个新功能,里面包含了大量的Redis大Key操作,导致我们共享的Redis集群响应变得非常慢,最终拖垮了我们的核心服务,造成了长时间的业务中断。最佳的面试策略,就是在自我介绍时就主动抛出引子,例如提到自己在“高可用微服务架构”方面的丰富经验,然后在介绍项目时,着重展示你在入职后,是如何大幅度提高了系统的可用性。当然,这里给出的整个话术和方案,是一个“框架”,面试的时候你需要根据你的实际项目经验,来填充血肉。原创 2025-08-08 15:24:49 · 1394 阅读 · 0 评论 -
订单服务调用时间从200ms飙升至1.5s,如何排查?
摘要:某电商平台在大促期间因网关限流导致订单服务异常,虽然CPU和内存使用率正常,但接口响应时间骤增。排查步骤包括:1)检查线程栈状态,识别阻塞/等待线程;2)分析依赖服务性能(数据库慢查询、下游RT);3)监控JVM垃圾回收情况;4)诊断网络与连接池问题;5)分析日志链中的超时和重试记录。常见根因包括数据库锁竞争、连接池耗尽或GC频繁。建议采用线程池隔离、降级策略和全链路压测预防类似问题。原创 2025-08-07 15:53:50 · 1063 阅读 · 0 评论 -
SQL语句中锁的使用与优化
SQL语句中锁的使用与优化原创 2025-07-22 21:10:19 · 1024 阅读 · 0 评论 -
JVM参数调优总结 -Xms -Xmx -Xmn -Xss
“-Xmx1024m -Xms1024m -Xmn512m -Xss256k”——Java运行参数(转)JVM的堆的内存,是通过下面面两个参数控制的-Xms最小堆的大小,也就是当你的虚拟机启动后,就会分配这么大的堆内存给你-Xmx是最大堆的大小当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象...原创 2020-04-08 10:17:45 · 48495 阅读 · 3 评论 -
Spring Cloud 中实现重试三种主流方案
幂等性处理:重试仅适用于GET/PUT等幂等操作,非幂等操作(POST)需谨慎重试策略基础场景:RestTemplate +@Retryable微服务间调用:OpenFeign + 自定义Retryer生产环境:Resilience4j + 熔断降级关键参数最大重试次数:通常3-5次退避策略:指数退避(如:首次500ms,第二次1000ms)超时设置:比重试间隔短监控:集成Micrometer + Prometheus监控重试指标异常处理。原创 2025-07-02 14:49:09 · 1405 阅读 · 0 评论 -
一致性框架:供应链分布式事务问题解决方案
在当今微服务架构盛行的时代,分布式系统已经成为企业级应用的标准模式。然而,随之而来的分布式事务问题也成为了开发人员的一大挑战。在复杂的供应链系统中,各个业务模块之间的数据一致性一直是一个重要且棘手的问题。物流、库存、订单等系统相互协作,如何在保证业务高效运转的同时,确保跨系统操作的数据一致性?今天,我们将深入探讨一个专为解决供应链分布式事务问题而设计的框架——「一致性框架」。二在分布式系统中,一致性框架是确保系统可靠性的重要工具。原创 2025-06-18 20:13:07 · 1605 阅读 · 0 评论 -
大事务导致数据库连接池耗尽分析与解决方案
代码层面避免大事务,拆分业务逻辑设置合理的事务超时移除事务中的远程调用配置层面优化连接池参数设置合理的连接泄露检测运维层面建立实时监控告警定期进行压力测试实施事务治理策略架构层面引入熔断降级机制采用异步处理模式实现最终一致性方案通过以上综合措施,可有效预防和解决大事务导致的数据库连接池耗尽问题,保障系统稳定运行。原创 2025-06-18 19:55:05 · 2078 阅读 · 0 评论 -
LowCodeEngine-阿里巴巴钉钉团队开源的低代码引擎
LowCodeEngine 是由阿里巴巴钉钉团队开源的低代码引擎,旨在通过拖拽、配置等简单操作,帮助开发者快速构建复杂的系统页面,提升开发效率和质量。以下是其相关介绍:特性面向扩展设计:提炼自企业级低代码平台的内核引擎,奉行最小内核、最强生态的设计理念,具有高度可扩展性。高质量生态元素:提供开箱即用的高质量生态元素,包括物料体系、设置器、插件等。完善工具链:拥有完善的工具链,支持物料体系、设置器、插件等生态元素的全链路研发周期。强大扩展能力。原创 2025-06-17 16:29:00 · 1761 阅读 · 0 评论 -
工业4.0九大关键技术全解析
AI+机器视觉技术实现了缺陷检测和自适应抓取,数字孪生技术优化生产流程,更安全的Cobot通过触觉感应和碰撞检测提升人机交互安全性,语音/手势控制使工人能自然调整机器人任务,可重构机器人通过模块化组件快速适应不同任务,复合材料应用降低了重量,提高了能效,远程监控与运维通过实时数据上传云端,预测性维护减少停机,集群协作通过5G低延时通信实现多机器人协同作业。因此,企业在实施知识工作自动化时,需要结合自身业务特点,选择合适的技术工具,并通过培训和激励措施,引导员工有效利用自动化系统,实现人机协同的最佳效果。原创 2025-06-16 16:44:05 · 1602 阅读 · 0 评论 -
刚刚 B站又血崩了?!我来告诉你真正原因
B站6月12日晚遭遇大规模服务中断,持续近4小时。故障表现为主页报错、视频无法播放、评论加载失败等全链路问题。技术分析指出,事故核心在于ServiceDiscovery服务发现系统故障,导致微服务架构下各业务模块间通信中断。虽然部分服务仍能运行(如直播),但整体系统出现504网关超时等严重错误。事件反映出基础设施稳定性的重要性,也印证了B站现有容灾机制的有效性(仅10%请求失败)。作为典型P0级事故,此次事件为技术人员提供了关于高可用架构设计、监控告警系统的重要启示。原创 2025-06-13 17:30:26 · 3767 阅读 · 0 评论 -
Java 项目中实现统一的 追踪ID,traceId实现分布式系统追踪
入口生成:在请求入口(Filter/Interceptor)生成 traceId全链路传递HTTP:通过 Header 传递(X-Trace-IdRPC:通过调用附件传递MQ:通过消息头传递存储位置同步请求:使用MDC异步线程:使用日志集成:在日志模板中添加异常处理:确保在 finally 块中清理上下文ID 生成规则// 示例:服务前缀 + 时间戳 + 随机数。原创 2025-06-13 17:03:36 · 1427 阅读 · 0 评论 -
StarRocks
StarRocks 凭借其高性能、实时性和易用性,成为国内分析型数据库领域的重要选择,尤其适合需要兼顾实时数据处理和复杂查询的企业级场景。,专注于解决大规模数据分析和实时查询场景的需求。它基于 MPP(大规模并行处理)架构设计,具备高并发、低延迟、易扩展等特点,被广泛应用于数据分析、实时报表、用户行为分析、日志分析、金融风控等领域。强(原生支持星型 / 雪花模型)较强(支持宽表和部分关联)MPP + 向量化执行。MPP + 向量化执行。较好(需批量写入优化)兼容 MySQL 协议。兼容 MySQL 协议。原创 2025-06-05 13:45:09 · 1315 阅读 · 0 评论 -
百万级群聊的设计实践
不同的群聊产品,采用的技术方案是不同的,为了理解接下来的技术选型,需要先了解下这群聊产品的特性。单群成员需要支撑百万人,同时在线百万级。功能、体验要接近纯客户端实现方案。用户端完全用H5承载。在本文中,笔者介绍了从零开始搭建一个生产级百万级群聊的一些关键要点和实践经验,包括通信方案选型、消息存储、消息顺序、消息可靠性、高并发等方面,但仍有许多技术设计未涉及,比如冷热群、高低消息通道会放在未来的规划里。原创 2025-06-05 13:43:57 · 1530 阅读 · 0 评论 -
网站应用攻击与防御(常见9种攻击方式)
XSS全称为Cross Site Script,即跨站点脚本攻击,一般攻击者通过篡改网页 注入恶意HTML脚本,在用户浏览网页时就能执行恶意的操作,像html、css、img都有可能被攻击。原创 2025-06-05 13:42:13 · 1067 阅读 · 0 评论 -
构建完善微服务——服务安全
相同的明文数据经过相同的消息摘要算法会得到相同的密文结果值。数据经过消息摘要算法处理,得到的摘要结果值,是无法还原为处理前的数据的。数据摘要算法也被称为哈希(Hash)算法或散列算法。消息摘要算法一般用于签名验签。消息摘要算法主要分三类:MD(Message Digest,消息摘要算法)、SHA(Secure Hash Algorithm,安全散列算法)和MAC(Message Authentication Code,消息认证码算法)。原创 2025-06-05 06:45:00 · 1176 阅读 · 0 评论 -
架构设计技巧——数据迁移与架构推导
数据迁移与架构演进是系统升级的核心挑战,二者必须协同设计。实现新架构落地保障业务连续性新架构的技术栈、数据模型存量数据结构、数据量、一致性要求数据库选型、服务拆分策略迁移窗口期、数据校验机制新系统无法正常运行业务数据丢失/错乱共享数据库解耦按领域拆分数据库定义服务边界(Bounded Context)跨服务数据一致性采用Saga分布式事务事件驱动架构设计历史数据归属划分数据所有权映射表+数据路由中间件服务发现机制扩展load data📌。原创 2025-06-05 06:30:00 · 1502 阅读 · 0 评论 -
架构设计技巧——架构设计模板
需求介绍主要描述需求的背景、目标、范围等性能问题:当用户发布了一条微博后,微博发布子系统需要同步调用“统计子系统”“审核子系统”“奖励子系统”等共 8 个子系统,性能很低。耦合问题:当新增一个子系统时,例如如果要增加“广告子系统”,那么广告子系统需要开发新的接口给微博发布子系统调用。效率问题:每个子系统提供的接口参数和实现都有一些细微的差别,导致每次都需要重新设计接口和联调接口,开发团队和测试团队花费了许多重复工作量。基于以上背景,我们需要引入消息队列进行系统解耦,将目前的同步调用改为异步通知。原创 2025-06-04 11:08:40 · 2057 阅读 · 0 评论 -
架构设计技巧——如何画好架构图
为什么画 > 画什么 > 怎么画 > 用什么画。永远从目的和受众出发。分层抽象是核心武器。用多张图从不同视角描述系统。一致性是清晰度的保障。符号、颜色、标注要规范统一。简洁明了胜过面面俱到。突出主干,合理省略。架构图是活的文档。及时更新,纳入版本管理。工具服务于目的。draw.io和Mermaid是强大且免费的起点。好的架构图像一份精准的地图:它能引导开发者穿越复杂系统的迷宫,让运维预见瓶颈所在,帮新人快速把握全局。开始动手吧,先明确目标,然后从最顶层的Context图开始,逐层深入。记得,原创 2025-06-04 10:48:13 · 2532 阅读 · 0 评论 -
Java上传资源excel文件并进行解析
以上步骤展示了如何在Spring Boot中实现Excel文件的上传和解析。通过使用Spring的文件上传功能和Apache POI库,你可以轻松处理Excel文件,并将其内容解析成所需的数据结构。根据实际需求,你可以进一步扩展和优化这个示例。controller层代码事例:/*** 上传资源excel文件并进行解析* @return*/returnMap.put("message", "对不起,您设置的供应商无效!");原创 2016-01-26 09:45:47 · 15331 阅读 · 0 评论 -
Java的Spring Cloud生态中实现SSE(Server-Sent Events)服务端实践
本文介绍了在Spring Boot中实现服务器发送事件(SSE)的三种方法:1)使用@RestController返回SseEmitter对象;2)原生Servlet异步处理;3)集中式管理多个客户端连接。核心要点包括遵循SSE数据格式规范(以data:开头,\n\n结尾)、异步处理机制、超时与重连控制。文章对比了SSE与WebSocket的特性差异,建议SSE适用于服务端单向推送场景,并提供了客户端监听示例、跨域配置方案以及性能优化建议。最后针对常见问题给出排查方向,如数据格式验证、连接稳定性处理和高并发原创 2025-05-27 16:45:03 · 1590 阅读 · 0 评论
分享