![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
文章平均质量分 94
IT巅峰技术
主要是以技术分享/交流为主,涉及微服务相关的技术分析、中间件架构原理的剖析及实战,热点技术的趋势分析等;
展开
-
xxj-job服务端架构流程
本篇我们主要讲一下《xxl-job的调度流程》,在讲调度流程前,我们先概述一下:客户端接入流程、服务端配置流程和路由策略参数详解。原创 2022-11-29 19:02:24 · 617 阅读 · 1 评论 -
Apisix网关快速入门实践
APISIX是一个微服务API网关,具有高性能、可扩展性等优点。它基于nginx(openresty)、Lua、etcd实现功能,借鉴了Kong的思路。和传统的API网关相比,APISIX具有较高的性能和较低的资源消耗,并且具有丰富的插件,也方便自己进行插件扩展。原创 2022-11-18 16:32:32 · 2248 阅读 · 0 评论 -
Spring核心流程分析
Spring使用BeanFactory来产生和管理Bean,它是工厂模式的实现。BeanFactory使用控制反转模式(IOC)将应用的配置和依赖性规范与实际的应用程序代码分开。BeanFactory使用依赖注入(DI)的方式给组件提供依赖 。一、Bean的注册Spring对于Bean的配置有两种方式:基于资源文件解析的方式,其中最常用的是XML配置优点:可以在后期维护的时候适当地调整Bean管理模式,并且只要遵循一定的命名规范,可以让程序员不必关心Bean之间的依赖关系 。缺点:.原创 2022-04-21 09:21:34 · 377 阅读 · 0 评论 -
Spring如何解决循环依赖
一、背景我们都知道Spring可以通过xml,或者解析我们的注解,通过扫描所有资源文件,从而将所有匹配到的资源封装成为一个BeanDefinition注册到我们的BeanFactory中。此时,Spring已经知道了所有我们想要注册到容器中的BeanDefinition,下一步就是将BeanDefinition实例化,这样才能提供出来给我们使用。二、Spring中Bean的实例化我们发现Spring整个加载过程都在AbstractApplicationContext.refresh()中去完原创 2022-04-11 08:00:00 · 194 阅读 · 0 评论 -
Spring定义BeanDefinition
一、背景注解( Annotation) 是 JDK1.5 中引入的 一个新特性。从Spring2.0以后的版本中,Spring引入了基于注解方式的配置 ,用于取代 XML 配置文件 ,从而极简化了 Bean 的配置,Spring后来的新版本。话不多说,直接上图:在Spring Boot 中完全采用基于注解 ( Spring4.x 引 入了更加智能的@Condition 系列注解,实现 “零 XML 的配置”(当然,同时也支持之前的 XML 配置文件方式)。我们知道,@Component注原创 2022-04-10 15:44:31 · 732 阅读 · 0 评论 -
Tomcat:应用加载原理分析
前情回顾上一篇文章主要了解了一下Tomcat启动入口,以及初步的分析了Tomcat的启动流程,下面我们将会解密Tomcat应用部署的实际流程。一、直观对比虽然前面已经说了那么多关于Tomcat的东西,但是我相信绝大部分同学应该都没有专门的去研究过Tomcat的内部实现。我们接触最多的应该还是上传一个war包丢在webapps目录下,然后重启一下Tomcat服务器(甚至不重启)。下面我们以图形的形式,直观的对比Tomcat各组件的关系。二、应用部署与加载流程分析下面就针对应用部署与原创 2022-04-11 08:00:00 · 655 阅读 · 0 评论 -
Spring容器的核心组件
一、背景不妨大胆推测一下:Spring是如何处理我们的Bean的呢?通过读取解析文件中的资源配置,将需要交给容器管理的类先找个地方集中起来(注册表),最后将这个注册表中所有的Bean定义实例化为Bean。将Bean在内存中缓存起来(HashMap),在我们需要使用的时候根据key值直接取出来我们的对象。事实上,Spring的确也是这么处理的。只不过它的设计远比我们所能想到的更要复杂与全面。二、认识一下BeanFactory我们知道Spring使用BeanFactory来产生和原创 2022-04-10 15:12:50 · 1890 阅读 · 0 评论 -
Spring容器的灵魂
一、背景Spring使用BeanFactory来产生和管理Bean,它是工厂模式的实现。BeanFactory使用控制反转模式将应用的配置和依赖性规范与实际的应用程序代码分开。BeanFactory使用依赖注入的方式给组件提供依赖 。二、准备工作准备工作:运行一个Springboot工程新建一个Springboot工程,由于我平时使用的版本是2.1.3.RELEASE,所以我选择了自己的常用版本。使用maven项目,引入spring-boot-starter依赖包.OK一个最简单.原创 2022-04-10 14:59:45 · 88 阅读 · 0 评论 -
动态多数据源使用seata实现分布式事务
一、背景目前公司很多应用因为历史原因,一个应用访问多个数据库进行插入和更新操作,这就可能产生数据一致性问题,同时应用如果跨服务的调用也可能会产生事务问题。目前应用是采用dynamic-datasource-spring-boot-starter做多数据源控制的。而seata是一款开源的分布式事务框架。我们了解到dynamic-datasource-spring-boot-starter的新版本已经支持基于seata的分布式事务了,而官网的例子基本都是标准的单数据源的整合,下面我们分别对dynam..原创 2021-12-03 16:53:36 · 4202 阅读 · 0 评论 -
字节跳动广告场景使用的“ClickHouse”介绍
背景随着互联网的快速发展和互联网+物联网的场景不断增加,信息数据量正在呈几何式的爆发。这些海量数据决定着企业的未来发展。这些数据中,有用的价值数据就需要数据分析师或分析系统去分析。但是使用一般的工具己满足不了和承受不住庞大的数据带来的压力。近两年针对大数据的开发工具开启了开源大潮,为大数据开发者提供了多个选择,但是也增加了开发者选择合适的工具的难度。尤其是新入行的开发者,会增加很大的学习成本,框架的多样化和复杂度成了很大的难题。有时候会需要各种框架、工具、中间件、平台等整合到一起才能完成数据分原创 2021-11-25 08:51:55 · 532 阅读 · 0 评论 -
Tomcat:应用加载原理分析
前情回顾上一篇文章主要了解了一下Tomcat启动入口,以及初步的分析了Tomcat的启动流程,下面我们将会解密Tomcat应用部署的实际流程。一、直观对比虽然前面已经说了那么多关于Tomcat的东西,但是我相信绝大部分同学应该都没有专门的去研究过Tomcat的内部实现。我们接触最多的应该还是上传一个war包丢在webapps目录下,然后重启一下Tomcat服务器(甚至不重启)。下面我们以图形的形式,直观的对比Tomcat各组件的关系。二、应用部署与加载流程分析下面就原创 2021-11-16 09:29:00 · 930 阅读 · 0 评论 -
RocketMQ—Producer(一)启动流程解密
以下为RocketMQ—生产者系列文章索引:1:启动流程(本文)2:路由动态更新3:发送方式分析+消息类型区别4:生产者消息的发送流程5:路由队列选择,客户端冗错策略(问题答疑)一、Producer介绍Producer 是 RocketMQ 消息的投递者,负责生产消息。它会与NameServer集群中的其中一个节点(随机)建立长连接(Keep-alive),定期从NameServer读取Topic路由信息,将路由信息保存在本地内存中;它向提供Topic服务的M.原创 2021-11-03 00:50:34 · 2656 阅读 · 0 评论