自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 年终活动付费产品秒杀系统设计及实践

通过优化架构设计、简化秒杀流程、消息队列异步落库、提升库存管理效率、数次的压测调优及强化系统稳定性,秒杀系统成功支持年终活动开展21场秒杀活动,有效应对瞬间高并发流量的冲击(最高qps达到1万以上),保障支付签约和付款流程的顺利完成,助力年终活动顺利开展。

2025-02-16 13:28:45 874

原创 一次性让你明白druid连接池原理

通过分析druid连接池原理,进一步熟悉连接池各个核心参数的作用,用于指导核心参数的配置,同时可以带着同样的思路拓展到内存池等池化技术。

2025-01-12 12:15:47 912

原创 警惕!批量Update操作不当可能引发服务崩溃

基于以上分析得出结论:mycat版本较低无法支持批量update,提交批量update语句致Mycat乱报,进而引发一系列问题。针对以上问题,给出以下解决方案:1、规避业务写批量更新语句;2、中间件升级mycat版本,但目前有很多定制化开发,中间件不是太愿意升级。3、换成其他中间件比如shardingjdbc;短期按方案1执行,目前分片库存量数据量达到将近百亿,明年逐步完成去Mycat。本文由博客一文多发平台OpenWrite发布!

2024-12-07 22:59:44 347

原创 JVM调优实战—接口成功率下降排查与优化

本文还原从收到告警、排查问题、分析问题及JVM调优解决问题全过程。

2024-12-01 22:38:58 884

原创 Kafka消息发送致接口超时原因分析与解决

借助apm、gc监控等定位到发券接口超时由kafka发送超时引起,经过分析后引出两个疑问:A、apm为什么未能精准采集kafka发送耗时,此疑问通过skywalking中插件源码得以解释;B、kafka发送超时的原因。通过梳理kafka client端发送流程中可能存在的阻塞点,服务端性能会影响客户端。在服务端不可控的情况,因此提出要将ack设置成0,同时引入额外的重试机制保证数据的完整性。

2024-11-22 23:19:58 1012

原创 基于canal与Redis发布订阅构建让应用起飞的多级缓存方案及实践

经过选型分析,选择redis与caffeine构建两级缓存,用canal解决db和redis之间的数据同步,用redis发布订阅解决分布式缓存与本地缓存之间的数据同步,构建近乎实时的两级缓存,接口性能得到约19%的提升,redis集群负载下降一半以上。

2024-11-16 12:48:37 1011

原创 dubbo源码系列5——本地服务暴露

深入源码拆解dubbo服务暴露流程,本节重点关注本地injvm协议暴露。

2023-05-13 12:25:41 305

原创 dubbo源码系列4——dubbo服务端与Spring整合原理

解密dubbo服务端与spring整合之道

2023-05-03 09:47:25 439

原创 mybatis系列1——mapper代理对象生成原理以及spring与mybatis整合

mybatis中mapper代理对象生成原理以及mybatis如何跟spring进行整合

2022-03-26 00:02:15 295 1

原创 dubbo源码系列3——dubbo自定义标签解析

dubbo自定义标签解析源码分析

2022-02-13 23:30:32 2235

原创 SpringBoot自动装配原理以及starter技术(下)

springBoot自动装配底层原理分析以及实战自定义starter

2022-01-15 19:52:46 740 1

原创 SpringBoot自动装配原理以及starter技术(上)

自动装配作为SpringBoot四大核心(启动依赖、自动装配、Actuator、命令行界面)组件中最常用之一,本节深入源码一探究竟如何实现自动装配。阅读本文可以清楚以下三个问题:1、如何实现自动?2、装配什么?3、如何实现自定义starter?

2021-12-05 21:44:42 642

原创 dubbo源码系列2——spi源码解读(下)

        今天是2021年10月1号,在此祝伟大的祖国母亲生日快乐,繁荣昌盛!        上一节对sdk spi机制从源码角度进行了分析,文末留下思考:jdk spi有什么缺点?总结如下:无法按需加载ServiceLoader通过LazyIterator实现延迟加载,但是加载时仍然是遍历所有的类进行实例化,无法按需加载;多线

2021-10-03 08:49:59 2403 1

原创 dubbo源码系列1——spi源码解读(上)

        Dubbo作为分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案。底层的微内核+插件机制为上层提供易拓展的特点,微内核和插件的核心即spi机制。本文将从以下几个方面介绍spi机制,重点通过源码分析dubbo spi底层实现原理。spi介绍jdk spidubbo spidubbo ioc/aop1、spi      &nb

2021-09-25 17:35:24 325 1

原创 spring源码系列8——最详细的循环依赖解读

        前面系列3到系列7总共5篇文章分析了spring容器启动的整个过程,但未对部分重要细节进行深入分析,比如spring循环依赖,因此本节对spring循环依赖进行深入分析。先思考以下三个问题:spring能解决所有的循环依赖吗?spring如何解决循环依赖?一级缓存能否解决循环依赖?两级缓存能否解决循环依赖?为什么需要三级缓存?相信看完本文,上面问题豁然开朗。1、前置知识1.1、前

2021-09-12 16:04:01 2586 5

原创 spring源码系列7——spring启动流程5

        前面系列6分析了Bean的实例化过程,本节分析初始化过程。发车!1、doCreateBean

2021-09-05 17:59:00 287

原创 spring源码系列6——spring启动流程4

    前面系列3、系类4、系列5分析了spring如何找到交给它管理的类以及如何将所管理的类用beanDefintion进行表示并存储在beanDefinitionMap中。本节重点分析spring如何通过非懒加载以及单例beanDefinition生成bean实例,可以分成两个阶段:实例化和初始化。1、preInstantiateSingletonsA、遍历beanDefinitionNames,然后根据beanName从beanFactory得到beanDe

2021-09-04 16:14:11 209

原创 spring源码系列5——spring启动流程3

        上一节分析invokeBeanFactoryPostProcessors方法时,仅对 parser.parse(candidates)进行深入分析,本节着重分析 this.reader.loadBeanDefinitions(configClasses)。预备知识——初识@Import@Import注解导入的类总共分成三种:导入普通类——将导入类注册到容器中;导入ImportSelector接口实现类—

2021-06-13 19:43:16 476 1

原创 spring源码系列4——spring启动流程2

    上一节着重对refreshContext之前的启动流程进行了分析,目前beanDefinitionMap已经有如下类的bean定义:ConfigurationClassPostProcessorAutowiredAnnotationBeanPostProcessorCommonAnnotationBeanPostProcessorEventListenerMethodProcessorDefaultEventListenerFactorySprin

2021-06-12 17:51:43 333

原创 spring源码系列3——spring启动流程1

    因目前基本都是采用java config配置,因此直接采用spring-boot的方式启动demo进行源码分析。spring启动过程主要分成两个部分:容器找到所有需要被spring管理的bean定义注册到beanDefinitionMap中;容器通过beanDefinitionMap将所有的单例bean进行实例化放入单例池中;启动流程分析说明:本节只分析第1部分中执行refreshContext之前的执行流程;spring源码系列4分析

2021-05-05 16:29:16 276 1

原创 spring源码系列2——spring bean初探

    本节主要介绍beanDefintion体系结构、关键参数解析以及beanDefintion在整个框架中作用。总所周知, spring里面的实例对象都以bean的形式存在,每个bean对象的实例化都是以beanDefinition为基础,通过反射获得构造函数,通过调用构造函数得到对应实例。为什么需要beanDefintion,而不是直接通过类class直接生成bean?下面即将揭晓。#1、beanDefinition体系结构其中绿虚线代表接口实现,绿实线代表

2021-05-03 22:23:24 298 1

原创 spring源码系列1——写在源码之旅前

1

2021-04-30 22:59:48 198 1

springBoot自动装配原理以及starter技术.pdf

深入源码底层分析springBoot自动装配原理并结合案例进行实战。

2021-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除