
工作实战总结
文章平均质量分 83
工作实战感悟
简放视野
万物互联网,智能化,万物智能对话互动,Spring-AI-Alibaba.
书写,是为了更清晰地表达,更深度地思考,更深刻地理解。
乐于分享,一直在学习实践的旅途中…
一位乐观开朗的IT-挨踢手艺人,希望构建一片护城池。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
公司业务快速接入OSS对象存储和文件上传下载starter-sdk对接
业务早期,为了赶进度快速迭代,使用一个存储桶来存储所有业务的文件,未按业务目录或存储桶拆分规划与治理。每个业务使用场景,前后端都是各自对接sdk,重复的开发测试工作量,至少一人日。出于业务数据安全性风险考量,需要按业务域分桶治理;出于云上资源成本考量,需要从A云迁移到B云上。业务目标- 提供更简单快速的对象存储接入流程,半小时完成业务对接- 文件资源按业务域分桶分层治理,统一命名规则(业务域/子业务域/业务场景)- 提供更安全的对象预签名URL操作方式,防止STS临时令牌和OSS存储桶等信息暴露原创 2025-07-05 20:45:27 · 230 阅读 · 0 评论 -
JDK高版本特性总结与ZGC实践-美团
美团信息安全技术团队核心服务升级JDK 17后,性能与稳定性大幅提升,机器成本降低了10%。高版本JDK与ZGC技术令人惊艳,且Java AI SDK最低支持JDK 17。本文总结了JDK 17的主要特性,然后重点分享了JDK 17+ZGC在安全领域的一些实践,希望能对大家有所帮助或启发。原创 2025-06-20 09:52:33 · 144 阅读 · 0 评论 -
XXL-JOB的任务标签环境隔离,怎么做
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。流量标签的调度隔离,通过 SkyWalking 字节码增强 name + envTag。原创 2025-03-14 11:27:26 · 513 阅读 · 0 评论 -
DeepSeek-R1蒸馏小模型,用Ollama在本地运行跑起来
使用Ollama在本地运行DeepSeek-R1的操作指南。DeepSeek-R1作为第一代推理模型,在上表现优异,与OpenAI-o1模型不相上下。将此类模型部署到本地,可为AI应用带来更强隐私保护、定制化和可控性。今天指导大家。原创 2025-01-26 23:58:20 · 4527 阅读 · 7 评论 -
Nacos动态配置实战
1.初始化数据库表2.启动Nacos服务器3.关闭Nacos服务器原创 2024-09-29 16:58:01 · 641 阅读 · 0 评论 -
Apollo配置中心实战
本地快速部署请参见Quick Start编译打包Apollo运行Apollo关闭Apollo原创 2024-09-29 16:45:38 · 453 阅读 · 0 评论 -
【有哪些坑】Apollo配置中心FAQ常见问题列表
FAQ- 常见问题回答- 部署&开发遇到的常见问题使用某个框架之前,得先看看前辈们踩过的坑。原创 2024-09-12 00:25:54 · 1671 阅读 · 0 评论 -
写在OceanBase开源三周年
我收获的深刻感触get感触1:解决问题才有生存价值 [产品力]感触2:永无止境的“易用性” [易用性]感触3:立下“双赢”的flag感触4:社区建设离不开用户和开发者参与感触5:从易用到用户自助 [自助能力]原创 2024-09-10 11:40:24 · 1253 阅读 · 0 评论 -
【G1GC调优】应用minor GC频繁,major GC偶发,容器重启
认识问题【业务背景】某个Java业务应用,所有容器实例每天重启一次,minor GC频繁,major GC偶发。现象是业务每隔30分钟会从商品域拉取全量商品和SKU数据,更新到缓存中。业务侧短期内不好解决这个原创 2024-09-05 13:30:53 · 1563 阅读 · 0 评论 -
【间接经验】高性能调度系统设计总结
调度模块在很多系统中都是常用的模块,比如实习生的每天签到邮件,预约银行的业务短信,学习通的上课通知,腾讯视频push中台的任务下发,调度系统在中间起到关键作用。用户画像:圈一群人业务场景:短信验证码、优惠券等营销活动消息通知短信、预约银行的业务短信、团课预约上课通知、推荐内容、app里的通知、消息箱、私信端触达:短信、微信的服务通知、app的通知与消息箱、手机消息通道用户:用户实操行为、感兴趣的那群人原创 2024-09-05 07:37:45 · 793 阅读 · 0 评论 -
Sentinel流量治理集成Apollo配置中心的落地路径
Sentinel是流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。【场景】业务服务稳定性保障,流量治理(流量控制、限流、熔断降级、系统负载保护)。背景业务研发希望,通过Sentinel提供的流控防护能力,保障业务核心服务的稳定性。历史原因,公司使用Apollo作为配置中心,但Sentinel开源框架和社区并未提供Apollo的持久化配置方案。原创 2024-08-16 17:29:53 · 1258 阅读 · 0 评论 -
Arthas在线诊断案例实战整理
Java应用诊断利器Arthas是一款线上监控诊断产品,通过全局视角实时查看应用load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对进行诊断,包括等,大大提升线上问题排查效率。工欲善其事,必先利其器。arthasidea插件原创 2024-07-25 18:03:27 · 647 阅读 · 0 评论 -
Logback日志异步打印接入指南,输出自定义业务数据
随着应用的请求量上升,日志输出量也会成线性比例的上升,给磁盘IO带来压力与性能瓶颈。应用也遇到了线程池满,是因为大量线程卡在输出日志。为了缓解日志同步打印,会采取异步打印日志。这样会引起日志中的追踪id丢失,不能基于追踪id查询相关日志,给问题解决带来新的挑战。使用MdcUtil传递用户id、教练id、优惠券id、商品id、交易订单id、支付订单id、物流订单id、api、responseTime、responseCode、追踪id等,从用户、教练、营销、商品、交易、物流等维度观测用户的实操路径。原创 2024-07-17 12:28:22 · 1573 阅读 · 0 评论 -
度量监控平台,研发的助手
【背景】1.指标度量遥测数据准确、多维度和可观测2.统一管控台入口(SLS/ARMS日志查询,OpenTelemetry/SkyWalking,Grafana)3.Trace、Metric、Log (链路、指标、日志)【目标】1.快速排障,解决问题的助手2.整体联动,降低使用成本3.梳理排查路径,逆向思维反推问题,提效原创 2024-07-03 15:05:05 · 466 阅读 · 0 评论 -
APP客户端接口本地缓存,降低请求量和请求峰值,减少云资源成本
针对资源位、评价等静态信息在xx点高峰时进行缓存,达到的目标。在成本预算控制下,云资源成本和WAF都受限于请求峰值。出于业务和数据安全考虑,公司希望接入阿里云的WAF,但一年价格和成本较高。原创 2024-06-23 00:54:59 · 1086 阅读 · 0 评论 -
应用度量遥测数据洞察,挖掘度量遥测数据的深层价值,支撑业务决策
围绕度量遥测数据构建可视化产品,看板与监控告警。【目标】提升服务稳定性提高资源利用率,降低云成本(降本)业务梳理与架构治理度量维度原创 2024-06-22 23:43:57 · 735 阅读 · 0 评论 -
【Arthas案例】两个相同全限定类名StaticLoggerBinder,引起log4j.Level类找不到异常
【3分钟内解决问题】两个不同的GAV依赖冲突,包含相同全限定类名,引起ClassNotFoundException【案例1】某应用依赖两个GAV不同的jar,但包含两个相同全限定类名StaticLoggerBinder,引起log4j.Level类找不到异常1.完整的异常调用栈【从案发现场找线索】2.关键的异常日志3.案发现场的源代码4.解决方法原创 2024-06-15 20:18:27 · 988 阅读 · 0 评论 -
Spring框架是如何查找方法上的异步任务注解@Async
Spring框架层面,查找方法上的注解的原理与机制是一样的。在方法层面,Spring框架已经找到子类的@Async注解,原因是查找注解会搜索整棵类型继承树,包括超类和实现的接口。原创 2024-06-12 23:06:51 · 705 阅读 · 2 评论 -
SkyWalking之P0核心业务场景输出调用链路应用
延伸扩展:XX核心业务场景 路由标签打标、传播、检索 链路标签染色与传播方案原创 2024-06-07 15:18:09 · 971 阅读 · 0 评论 -
Spring异步任务@Async的默认线程池执行器是如何初始化的
Spring异步任务@Async的默认线程池执行器,是从哪里来?是如何初始化的?【结论】异步任务@Async的默认线程池执行器是通过TaskExecutionAutoConfiguration#applicationTaskExecutor自动注入的。原创 2024-06-03 12:16:29 · 1077 阅读 · 0 评论 -
问题带来多少成长,看你挖得有多深多痛
本文从实际工作中遇到的一个Redis访问超时问题出发,探究背后Spring、Lettuce和Netty的工作原理,并利用Arthas等调试工具,分析了EventLoop线程对连接处理的重要性,以及在处理Pub/Sub事件时避免阻塞操作的必要性。通过观察不同版本环境下的行为差异,加深了对JDK版本和程序环境适配的理解,为今后排查类似问题积累了宝贵经验。力是相互的,成长与痛苦也是相互的。知其然,知其所以然。原创 2024-04-22 22:50:46 · 1159 阅读 · 1 评论 -
【实战】RocketMQ消息灰度方案-消息逻辑隔离
消息隔离的原则灰度场景1.灰度消息只由灰度节点消费2.灰度消息可以由正常节点消费消息逻辑隔离的灰度方案原创 2024-04-21 23:55:45 · 1497 阅读 · 0 评论 -
Dubbo应用可观测性升级指南与踩坑记录
应用从dubbo-3.1.*升级到dubbo-*:3.2.*最新稳定版本,提升JDK-17、应用的可观测性、GraalVM原生镜像编译。1. dubbo版本发布说明2. 应用修改点3. 踩过的坑原创 2024-04-17 19:06:06 · 3193 阅读 · 7 评论 -
从API到Agent:洞悉LangChain工程化设计
本文作者试着从工程角度去理解LangChain的设计和使用。大家可以将此文档作为LangChain的“10分钟快速上手”手册,希望帮助需要的同学实现AI工程的Bootstrap。原创 2024-04-17 18:35:47 · 1116 阅读 · 0 评论 -
一文详解 Java 限流接口实现
消息中间件就是采用漏桶限流的思想。能看出作者有深入地思考与沉淀👍令牌桶算法、消息队列,业务使用消息队列与漏桶算法的主要区别:1.容量资源:消息队列,存储容量足够大;漏桶算法,桶的容量有限;2.时效:消息队列,异步处理;漏桶算法,同步处理;3.灵活性:与漏桶算法相比,消息队列提供了更大的灵活性。例如,可以动态地调整消费数量。原创 2024-01-17 10:50:27 · 405 阅读 · 0 评论 -
【Arthas案例】两个GAV-classifier不同的snakeyaml.jar,引起NoSuchMethodError
【3分钟内解决问题】多个不同的GAV-classifier依赖冲突,引起NoSuchMethodErrorMaven依赖的三坐标体系GAV(G-groupId,A-artifactId,V-version)classifier通常用于区分从同一POM构建的具有不同内容的构件物(artifact)。它是可选的,它可以是任意的字符串,附加在版本号之后。警察抓犯人,收集线索是破案的关键所在。原创 2024-04-05 01:19:25 · 1318 阅读 · 0 评论 -
SkyWalking链路追踪上下文TraceContext的traceId生成的实现原理剖析
SkyWalking通过字节码增强技术实现,结合依赖注入和控制反转思想,以SkyWalking方式将追踪身份traceId编织到链路追踪上下文TraceContext中。是不是很有趣,很有意思!!!原创 2024-03-04 20:54:42 · 7947 阅读 · 26 评论 -
Arthas在线诊断Docker容器应用业务问题
Java 应用诊断利器Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常、监测方法执行耗时、类加载信息等,大大提升线上问题排查效率。原创 2023-01-13 15:52:04 · 1548 阅读 · 0 评论 -
使用RedisCacheWriter#clean在线异步地批量扫描匹配删除缓存数据spring-data-redis
生产环境,某云的某个业务Redis实例,触发内存使用率,连续 3 次 平均值 >= 85 %告警。运维同学告知,看看需要怎么优化或者升级配置?分享了其实例RDB的内存剖析链接。通过内存剖析详情发现,存在某类未设置过期时间且无用的keys,其内存占用约3.8GB,内存占比25%。内存占比挺大,有确定的成本经济收益。做事有动力啦!原创 2023-12-18 01:06:40 · 1769 阅读 · 2 评论 -
Spring-Boot的应用环境感知自识别配置
Spring Boot的应用环境感知自识别配置解决方案原创 2024-02-23 14:45:28 · 565 阅读 · 1 评论 -
从Spring-Boot-Starters学习如何治理maven依赖版本冲突问题
做中间件对接业务的同学,肯定对jar依赖冲突问题印象深刻。Spring Boot Starters 实质上是Maven依赖和插件模块化管理,其设计初衷是解决jar依赖冲突问题。Spring Boot Starters 文档罗列了所有starter,包括starter名称、描述以及POM。原创 2024-02-23 14:55:37 · 947 阅读 · 1 评论 -
Java异常体系结构核心解析-Throwable
Java异常体系结构,是一种分层/层次结构树模型。异常的根类是 java.lang.Throwable,核心数据结构/模型和实现都在于此类。了解她们对理解异常信息很关键。其子类 java.lang.Exception、java.lang.RuntimeException、java.lang.Error 都是标签类。原创 2024-02-24 21:54:35 · 570 阅读 · 1 评论 -
Java-8函数式编程设计-Functional-Interface
我自己的理解,函数式编程对用户最大的价值是促使开发者养成模块化编程的习惯,代码可读性和维护性提高很多。通过阅读JDK 8的和包源码,意在理解Java的函数式接口设计。读后自己的理解:Java函数式编程的核心是,可在已有的接口上进行积木拼插组合,形成完整地类型转换系统。最基础的数学函数包括一元函数、谓词、二元函数、运算符计算,对应的Java接口分别是Function、Predicate、BiFunction、BinaryOperator。原创 2024-02-24 21:37:09 · 797 阅读 · 0 评论 -
Spring-Boot常见的应用属性配置集
深入之前先用好,用好之前先全面了解功能。全面了解功能可以从官方文档的**配置参数选项**作为切入点。原创 2024-02-23 14:41:52 · 356 阅读 · 1 评论 -
ReactiveRedisTemplate自动配置定义和序列化方式选择spring-boot-starter-data-redis
Spring-Boot的Redis自动配置类,RedisReactiveAutoConfiguration和RedisAutoConfiguration,组件ReactiveRedisTemplate和RedisTemplate默认使用JDK序列化方式,在现实业务场景中很难使用,其存储的值可读性差且又长。我觉得不是很合理,意味着使用它们的用户都需要自己重新自定义。原创 2023-12-03 18:31:15 · 3422 阅读 · 1 评论 -
Spring Boot实现HTTP大文件断点续传分片下载-大视频分段渐进式播放
服务端如何将一个大视频文件做切分,分段响应给客户端,让浏览器可以渐进式地播放。Spring-Boot实现HTTP分片下载断点续传,从而实现H5页面的大视频播放问题,实现渐进式播放,每次只播放需要播放的内容就可以了,不需要加载整个文件到内存中。原创 2022-10-19 19:34:17 · 4798 阅读 · 21 评论