- 博客(17)
- 收藏
- 关注
原创 golang可观测-无侵入式agent技术原理
本文介绍了基于阿里巴巴龙蜥社区项目的Golang无侵入式可观测方案。该系统通过编译时AST操作、GLS机制和go:linkname等核心技术,实现无需修改业务代码即可为Go应用添加分布式追踪能力。文章从架构设计、技术栈分层、启动流程等方面深入解析了该方案,展示了其透明性、完整性和高性能的特点,并分享了实际部署效果,仅需一天即可完成整套观测系统的搭建。
2025-09-29 11:02:35
807
原创 devops平台建设-总体设计文档
本文探讨了DevOps的概念演变与实践痛点,分析了从传统瀑布模式到敏捷开发的转型过程中开发与运维团队协作的挑战。文章指出当前DevOps实践中存在的版本管理混乱、数据孤岛、权限难题、云集成困难等核心问题,并提出了新一代DevOps平台应具备的10项核心能力,包括多语言CI、多云CD、权限管理、灰度发布等。作者强调真正的DevOps应以开发人员为中心,而非简单照搬运维工具,需要构建一个整合全流程、面向业务运维的统一平台,才能有效解决开发与运维之间的协作壁垒。
2025-09-17 15:21:32
1324
1
原创 成本与性能的最佳平衡-k8s弹性扩缩容方案
摘要:基于KEDA和阿里云ECI构建全链路弹性扩缩容方案 传统Kubernetes HPA存在指标单一、冷启动延迟和成本控制不足等局限性。本文提出结合KEDA(事件驱动弹性框架)和阿里云ECI(弹性容器实例)的解决方案,实现多维度弹性触发(支持CPU/内存、应用指标、事件源等)、秒级响应(ECI 6秒可扩容3000实例)和极致成本优化(支持缩容至0)。通过定义ScaledObject CR资源,无需代码改造即可实现优先使用ECS常驻节点、资源不足时自动调度到ECI的混合部署模式。该方案有效解决了传统节点扩容
2025-09-15 21:48:52
964
原创 RocketMQ-高性能消息中间件的原理
RocketMQ是由阿里巴巴开发的开源分布式消息中间件,具有亿级消息堆积能力、高可用性和可靠性。它支持分布式事务、消息过滤、顺序消息、定时消息等功能,广泛应用于电商、金融等领域。RocketMQ采用发布订阅模式,核心架构包括生产者、消费者、Broker、NameServer等组件,实现解耦、异步处理和流量削峰填谷。其设计理念"简单、高效、可靠"使其成为处理高并发、大规模分布式系统的首选消息队列之一。
2025-09-15 21:22:21
911
原创 全网首发-RocketMQ 4.0实现完美灰度发布方案
摘要 本文针对企业消息队列灰度发布需求,提出了一种基于RocketMQ原生特性的轻量化改造方案。当前RPC服务已支持灰度流量转发,但消息队列场景仍存在灰度流量不可控问题。通过分析RocketMQ存储架构和消息收发机制,比较了五种方案后,选定"灰度分区"作为最优解。该方案利用环境变量标识灰度环境,重写客户端负载均衡策略,实现灰度流量精准路由至特定分区。仅需改造客户端代码,无需依赖外部配置中心,支持多语言、多环境及各类消息类型,具有改造量小、侵入性低、适配性强等优势,有效解决了消息队列场景的
2024-07-02 18:34:59
2805
7
原创 深入剖析JVM内存与对象分配机制
jvm从入门到放弃系列前言java跨平台的秘密jdk or jre?jvm内存结构模型GC前言本文为jvm系列文章第一篇,后续会继续发布与调优实战相关的文章,以此激励和记录自己的学习历程,共勉之!!java跨平台的秘密Write Once,Run Anywhere我们在开始入坑java这门编程语言的时候,无论是书本还是授课老师都会介绍到JAVA的一大特性:跨平台! 熟悉计算机组成原理和操作系统的同学比较容易理解,在计算机世界中,机器只识别0和1,而在这之上的汇编语言则是以符号的形式帮助开发者来
2021-06-20 21:25:14
1111
1
原创 gitlab-从零开始实现你的CICD
为什么使用gitlab?每一位开发工程师都多多少少使用过几款不同的版本管理工具,诸如svn,git,或者项目更小一点的使用简单的存储工具然后再手动合并代码也不是没有,现如今最火的版本管理工具莫过于git了,而在开源世界中,github无疑是最火的项目源码管理仓库,而在我们国家由于访问github速度过慢,也有gitee(码云)等类似github的源码管理仓库,gitlab又是什么?GitLab最开始是仿照GitHub做的一个面向企业的Git仓库软件,随着其社区的发展和产品的迭代,目前GitLab已经是企
2020-09-23 17:47:23
2302
原创 是时候放弃Maven,拥抱Gradle了!
maven已经满足了开发人员百分之九十九的需求,为什么还要用gradle?因为我们是技术人。在开始装逼之前,放一张spring官方的消息图:上面这位Andy Wilkinson是springboot团队大佬,他在六月8号发布了一条推文,大致意思是:在Springboot2.3版本之后,我们将构建工具从maven迁移到gradle上,如果您对我们进行更改的原因和方式感兴趣,我刚刚发布了一篇博客文章,其中包含一些详细信息:why gradle逐步构建……。现在,平均而言,CI构建速度提高了3到4倍,.
2020-09-23 15:30:29
808
3
原创 Mysql学习之-bin log、redo log、undo log
Mysql简介开源数据库,简单免费易上手,安装容易使用容易等等,这大概是所有新手程序员对这个数据库的大概印象,而mysql也确实一直在这些方面做得越来越好,当然我指的是社区版.而对于开发人员来讲,数据库编程能力在当下越来越重要,日志是mysql数据库的重要组成内容,它记录并且维护着数据库运行期间的数据状态和操作痕迹。日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志等,今天我们来学习一下mysql中的二进制日志和事务日志。bin log...
2020-09-06 12:41:05
1037
原创 设计模式与spring原理的完美碰撞-记录一次工作当中的应用
面试造飞机,入职拧螺丝。一直以来,对于设计模式和一些底层原理,每每听到总会不自觉的流露出膜拜的感觉,尤其是在拜读一些大牛和框架源码的时候,心里总是在想: 一样是9年义务教育……然而现实中也有很多人一直孜孜不倦的学习,给自己充电,只是不管是视频教学还是书本上看到的知识,读来总觉耳目一新,当合上书本真正在工作当中遇到问题的时候,大部分人的颅内活动:马什么梅?? 道理都明白,只是缺乏实战,或者说是实战的时候恍如段誉一般,可能空有一身本领临敌之际却没法得心应手。今天笔者从一个一年开发经验的角度记录一次工作.
2020-05-21 21:11:47
936
1
原创 从spring源码到springboot
这篇文章仅记录自己对于springboot的一次学习以及感悟,以及描述了从0开始制作自己的jar至推送到maven central repo。What is SpringBoot都已经2020年了,还在说自己不懂springboot,似乎对于java工程师来说仿佛已经说不过去了。还是一句话,要弄懂一个新兴事物之前,不妨去研究一下它的背景以及它的出现解决了什么问题。在没有SpringBoot出...
2020-05-03 00:28:22
1290
原创 手撸Mybatis源码-基础版
放假闲来无事,重新看了一遍Mybatis,有感而发,记录下来。What is Mybatis?按照官方文档的说法:MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates alm...
2020-04-04 22:59:09
885
2
原创 深入浅出服务治理-Eureka
Code is cheap,show me the code. --LinusTorvalds继上一篇博文 浅谈微服务之Springcloud ,讲述到微服务的背景以及它的一些核心理念,本篇博文着重从代码和理论两方面对springcloud服务治理的核心组件–Eureka做一个详细的讲解。Eureka的前世今生在上一篇博文当中提及服务治理以及它主要解决的问题,那么当...
2020-04-01 02:11:37
540
原创 浅谈微服务之Springcloud
笔者是19年6月毕业的,最近刚刚经历离职、跳槽,在家办公期间闲来无事,撸一下自己在前公司对于微服务和springcloud的一些见解,新手小白,有说的不对的地方望大神指正。微服务是什么?在讲述一件新事物的同时,不妨去了解一下它出现的背景,以及它的出现解决了什么问题。在Java开发web应用过程中,一个较为典型的架构风格就是把前端(Front-end)和后端(Back-end)的所有文件统统放...
2020-03-30 18:18:31
1443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅