目录前言总览AbstractNettyRemotingClient——一个RPC请求方法RpcMessage——RPC协议编码&解码Server端Netty初始化ServerHandlerProcessor消息处理器总览RemotingProcessorprocessMessageProcessor的注册总结参考链接:前言Seata是一个分布式事务解决方案框架,TC,TM,RM之间需要相互
转载 2024-03-06 21:49:08
47阅读
背景MySQL默认的存储引擎是InnoDB,而引入Secondary Engine,用来实现同时支持多引擎,在同一个MySQL Server上挂多个存储引擎,在支持InnoDB的同时,还可以把数据存放在其他的存储引擎上。 全量的数据都存储在Primary Engine上,某些指定数据在Secondary Engine 上也存放了一份,然后在访问这些数据的时候,会根据系统参数和cost选择存储引擎,
# MySQL源码分析 ## 简介 MySQL是一种流行的开源关系型数据库管理系统,它是很多Web应用程序的首选。理解MySQL的内部工作原理对于开发者来说是很重要的,尤其是对于那些想要成为高级数据库开发人员的人来说。 本文将提供一种步骤和代码示例的方式来帮助你进行MySQL源码分析。我们将讨论整个过程,并提供每一步所需的代码以及代码的注释来帮助你理解。 ## MySQL源码分析流程 下面是
原创 2024-02-08 05:28:47
45阅读
apache核心 使用配置向量结构ap_conf_vector_t来保存xxx_dir_conf和xxx_server_conf ap_get_module_config用于获取特定的目录或服务器配置结构指针 svr_cfg* my_svr_cfg = ap_get_module_config(server->module_config, &my_module);
摘要 ​所谓的流式媒体简单的讲就是指人们通过网络实时的收看多媒体信息:如音频流、视频流等。与流式媒体对应的传统工作方式是下载+播放模式,即用户首先下载多媒体文件,然后再在本地播放,这种方法的一个主要缺点是启动延迟较大,例如一个30分钟长的MPEG-I文件(相当于VCD质量),即使使用1.5Mbps的
转载 2017-08-13 22:39:00
47阅读
2评论
前言:spring主要就是对bean进行管理,因此IOC容器的初始化过程非常重要,搞清楚其原理不管在实际生产或面试过程中都十分的有用。在【spring源码分析】准备工作中已经搭建好spring的环境,并利用xml配置形式对类进行了实例化。在test代码中有一个非常关键的类ClassPathXmlApplicationContext,在这个类中实现了IOC容器的初始化,因此我们从ClassPathX
转载 10月前
57阅读
spring源码分析-XmlBeanFactory导读 原创作者: calmness   阅读:5279次   评论:10条   更新时间:2007-04-26     源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,
转载 2024-08-29 13:14:13
78阅读
一、基本介绍在前面的一篇中初步对InnoDB磁盘结构的表空间,数据字典,双写缓冲区、日志进行分析说明,对InnoDB的磁盘结构有了一个整体上的概念上的认识。这样,在下面的源码分析中,就可以比较清楚的把功能和源码的内容就对起来,做到心中有数,看代码才不会一头雾水。二、表空间表空间是InnoDB在文件IO上的一层逻辑存储空间管理的结构,它基本可以分为space、segment inode、extent
转载 2024-04-01 21:47:14
327阅读
作者简介:姜宇祥,2012 年加入携程,10 年数据库核心代码开发经验,相关开发涉及达梦,MySQL 数据库。现致力于携程 MySQL 的底层研发,为特殊问题定位和处理提供技术支持。锁是计算机程序运行时协调并发访问同一数据资源的机制。对于数据库系统来说,数据是一种供许多用户共享的资源,那么如何保证数据并发访问的一致性、有效性是必须解决的一个问题。所以,锁对于数据库来说,是非常重要的一个功能。通过各
上一篇文章[《Eureka 源码分析之 Eureka Client》](https://mp.weixin.qq.com/s/47TUd96NMz67_PCDyvyInQ) 通过源码知道 ,eureka Client 是通过 http rest来 与 eureka server 交互,实现 注册服务,续约服务,服务下线 等。本篇探究下eureka server
原创 2019-06-13 10:33:07
641阅读
1点赞
通过对MySQL Exporter整体进行分析,实现一个自定义的demo收集,并进行采集的整合。
原创 2023-01-09 17:30:51
332阅读
在这篇博文中,我们将深入分析如何解决“mysql 源码分析工具”问题。面对日益复杂的系统,我们需要对 MySQL源码进行深入的理解,这样才能更好地优化和维护数据库。接下来,我将带你一起走进这个过程。 ### 背景描述 在对 MySQL 源码进行分析时,我们需要了解其发展的历史和技术演变。以下是 MySQL 近年的重大版本历史: 1. **2015年** - MySQL 5.7 发布,优化
原创 6月前
6阅读
本文从一个select语句的执行过程出发, 遍历MySQL的多个几子系统. 先放图一张, 按图索骥开始我们的历险. 当客户端连接上MySQL服务端之后,发出请求之前,服务端的线程是阻塞在do_command(sql/parse.cc)里的my_net_read函数中(就是socket里的read). 当客户端键入sql语句(本文例子select * from zzz)发送到服务端之后, my_
转载 2024-09-09 18:07:03
16阅读
# MySQL InnoDB源码分析 ## 1. 简介 MySQL是一个广泛使用的开源关系型数据库管理系统,其内部的存储引擎之一是InnoDB,它是一个高性能的事务安全存储引擎。本文将教会你如何进行InnoDB源码分析。 ## 2. 流程 以下是进行InnoDB源码分析的整体流程: ```mermaid flowchart TD A(开始) B(下载源码) C(配
原创 2023-11-26 11:39:10
81阅读
一、基本介绍在前面基本把几个缓冲的创建应用的源码搞定了。但是在宏观层次上的使用是怎么设计的呢?这篇就分析一下Buffer Pool的整体应用框架,其它的如果有时间再慢慢一一补齐,重点还是要把MySql的架构先理清大的脉络,最后在抓住细节各个击破。二、Buffer Pool的整体应用框架在MySql中,一个数据库的实例生成,一定会生成一个数据的引擎实例。所以,在前面的数据库启动流程里,会通过插件的调
1,安装所有包yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison python-devel说明: cmake:mysql使用cmake跨平台工具预编译源码,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编
转载 2024-01-29 15:47:54
51阅读
环境为 Ubuntu 12.04 64 位的桌面版编译的mysql 版本为 5.7.18 首先需要安装一下依赖包sudo apt-get install libncurses5-dev cmake chkconfig 创建用户组和用户 mysqlgroupadd mysql useradd -r -g mysql -s /bin/bash mysql -d /home/mys
转载 2024-06-21 10:12:44
94阅读
文章目录前言:环境:安装前准备:安装 Cmake、MySQL:Cmake安装:MySQL安装:1. 源码安装:2. MySQL初始化:3.提供配置文件 :4. 手动启动:5. 登录MySQL:6. 做启动项,启动MySQL:7. 做软连接,方便使用MySQL相关命令: 前言:在我们实际的生产环境中,我们安装服务通常都是使用yum 直接使用安装,但有些服务需要使用我们自定义的目录,所以yum达不到
转载 2023-09-28 19:58:15
81阅读
作者: jacky民工 主要模块及数据流经过多年的发展,mysql的主要模块已经稳定,基本不会有大的修改。本文将对MySQL的整体架构及重要目录进行讲述。源码结构(MySQL-5.5.0-m2) BUILD: 内含在各个平台、各种编译器下进行编译的脚本。如compile-pentium-debug表示在pentium架构上进行编译的脚本。Client: 客户端工具,如
转载 2023-09-06 00:32:11
57阅读
MySQL关闭Enterprise Server源码   今天从MySQL官方网站上获知,MySQL宣布关闭Enterprise Server源码,对于广大开源爱好者来说,这是一个沉重的打击。虽然免费的用户群体一般仅仅使用MySQL Community Server(开源免费社区版),但关闭MySQL Enterprise Server源码会让这些免费的用户担心所获取的MySQL
原创 2007-09-06 11:29:25
2446阅读
1评论
  • 1
  • 2
  • 3
  • 4
  • 5