buffer pool buffer pool缓冲池,用来缓存数据页,避免每次都从磁盘上加载数据,由于buffer pool是基于内存的,所以查询速度非常快。 undo log undo log回滚日志,记录了SQL执行之前的旧值,用来做数据回滚。 redo log redo…
之前与同事讨论接口性能问题时听他介绍了一种缓存设计思路,觉得不错,做个记录供以后参考。 场景 假设有个以下格式的接口: GET /api?keys={key1,key2,key3,...}&types={1,2,3,...} 其中 keys 是业务主键列表,types 是想要取到的信息的类型。…
Elasticsearch中Discovery模块负责发现集群中的节点以及Master的选举,其默认的实现称为Zen Discovery。 在Elasticsearch的配置文件中,有一项为node.master,如果将该配置设为true,该节点即可参与Master选举,获得被选举为Master节点的资格。 Master选举算法 (1)Paxos算法…
Elasticsearch写入分为单个文档的写入和批量写入,单个文档的写入称作Index请求,批量写入称为Bulk请求,他们具有相同的处理逻辑,请求被统一封装为BuklRequest。 单个文档的写入流程: 1.客户端向Node1发送写入请求…
GET基本流程 GET是根据index、type和ID向ES发送请求,获取文档数据,是读取操作,因此主分片或者副本分片都可以返回文档,不过新增的文档已经写入到主分片中但是还没有复制到副本分片时,副本分片可能会报告文档不存在。 假设有三个节点,分别存储着分片0和分片1,P开头的为主分片,R开头的为副本分片: 1.客户端向节点1发送GET请求…
1 现状与问题 1.1 规模增长与运维能力发展之间的不平衡问题凸显 伴随着最近几年美团业务的快速发展,数据库的规模也保持着高速增长。而作为整个业务系统的“神经末梢”,数据库一旦出现问题,对业务造成的损失就会非常大。同时,因数据库规模的快速增长,出现问题的数量也大大增加,完全依靠人力的被动分析与定位已经不堪重负。下图是当时数据库实例近年来的增长趋势: 图1…
至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven…
只用Tomcat,不用Nginx搭建Web服务,行不行?我曾经提出的愚蠢问题,今天详细给自己解释下,为什么必须用Nginx! 不用Nginx,只用Tomcat的Http请求流程…
下载和安装 Redis 官网:https://redis.io/,官网提供的是linux版本的,下载windows版本的地址如下。 科学上网更方便 (推荐流量套一) 1.1 windows版 1.1.1 下载 Redis windows下载地址: https://github.com/tporadowski/redis/releases…