道阻且长,行则将至

Scroll Down

Dubbo-服务目录

1. 简介本篇文章,将开始分析 Dubbo 集群容错方面的源码。集群容错源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑相对比较独立,我们将会分四篇文章进行分析。本篇文章作为集群容错的开篇文章

mysql运行原理笔记-redo日志和undo日志

事务隔离级别和MVCC事务隔离级别我们知道,MySQL是一个客户端/服务端架构的软件。对于同一个服务器来说,可以有多个客户端与之连接。每个客户端与服务端建立连接之后,就形成了一个会话。每个客户端都可以在自己的会话中向服务器发送请求语句,一个请求语句可能是某个事务的一部分。服务器可以同时处理来自多个客

mysql运行原理笔记-事务

事务简介事务的起源对于大部分程序来说,他们的任务就是把现实世界的业务场景映射到数据库世界中。原子性(Atomicity)在现实世界中,转账操作是一个不可分割的操作。如果在执行操作的过程中发生了错误,就把已经执行的操作恢复成没有执行之前的样子。隔离性(Isolation)对于现实世界中状态转换对应的某

mysql运行原理笔记-InnoDB的BufferPool

InnoDB的BufferPool缓存的重要性InnoDB存储引擎在处理客户端请求时,如果需要访问某个页的数据,就会把完整的页中的数据全部加载到内存中。也就是说,即使只需要访问一个页的一条记录,也需要先把整个页的数据加载到内存中。将整个页加载到内存中后就可以进行读写访问了,而且在读写访问之后并不着急

mysql运行原理笔记-explain

EXPLAIN详解EXPLAIN语句输出各个列的作用列明描述id在一个大的查询语句中,每个SELECT关键字都对应一个唯一的idselect_typeSELECT关键字对应的查询类型table表名partitions匹配的分区信息type针对单表的访问方法possible_keys可能用到的索引ke

mysql运行原理笔记-成本优化

基于成本的优化什么是成本一条查询语句在MYSQL中执行成本是由两个方面组成的。IO成本,我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引存储到磁盘上。当查询表中的记录时,需要先把数据或者索引加载到内存中,然后再进行操作。这个从磁盘到内存的加载过程损耗的时间称为IO成本。CPU成本

服务端线程模型

Dubbo 服务提供端端线程池模型和用法Dubbo协议的和Triple协议目前的线程模型还并没有对齐,下面分开介绍Triple协议和Dubbo协议的线程模型。Dubbo协议——Provider端线程模型介绍Dubbo协议的Provider端线程模型之前,先介绍Dubbo对channel上的操作抽象成

Dubbo的通信机制

Dubbo的remote模块是远程通信模块,是Dubbo项目处理底层网络通信层。buffer 主要是针对NIO的Buffer做了一些封装。exchange 信息交换层,这也是整个通信过程的核心层。Telnet 主要是针对Telnet提供编解码转换。transport 网络传输层,抽象Mina和Net

一些设计思考

1、单个模块对外提供使用接口,屏蔽实现细节。2、模块直接的编排首先通过构建对象时将各个模块的依赖关系确定,而不是在调用过程中。具体调用过程中只需要调用对应的模块暴露的API/SPI