Netty的内存池设计

一、简介netty作为一款优秀的通信框架,不可避免的需要面对频繁的数据读入与写出,此时肯定会导致大量ByteBuf对象的创建,为了减少频繁申请内存带来的开销与gc,netty设计了内存池。二、内存池设计的演化假设让你设计一个内存池,你会怎么设计?也许你会创建一个字节数组,然后分配一定的大小,像下面这
2021年08月22日 486次浏览

计算机缓存Cache以及Cache Line详解

1.计算机存储体系简介存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也因此越小。寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2等缓存),再次是主存(普通内存),再次是本地磁盘。寄存器的速度最快,可以在一个时钟周期内访
2021年08月20日 1,026次浏览

Elasticsearch中的 三种缓存介绍:Query Cache、Request Cache、Fielddata Cache

一、Query CacheQuery Cache也称为Filter Cache,顾名思义它的作用就是对一个查询中包含的过滤器执行结果进行缓存。比如我们常用的term,terms,range过滤器都会在满足某种条件后被缓存,注意,这里的bool过滤器是不会被缓存的,但bool过滤器包含的子query
2021年08月18日 1,362次浏览

Elasticsearch之 Doc_values 聚合原理

文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/2.4/doc-values.htmlhttps://www.elastic.co/guide/en/elasticsearch/guide/2.x/docvalues-intr
2021年08月18日 1,038次浏览

elasticsearch中 refresh 和flush区别(近实时搜索机制)

elasticsearch中有两个比较重要的操作:refresh 和 flushrefresh操作当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索。而这个实时建索引并可以被搜索的过程实际上是一次es 索引提交(commit)的过程,如果这个提交的过程直接将数据写入磁盘(fs
2021年08月18日 633次浏览

Elasticsearch路由算法

document创建的时候路由就需要决定放在哪个shard 一个document只能存在于一个shard上路由算法:shard = hash(routing) % number_of_primary_shards举例一个index有3个primary shard,P0,P1,P2每次增删改查一个d
2021年08月18日 436次浏览

nginx配置域名启用http2协议

HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器网络请求中,同时HTTP1.1也是当前使用最为广泛的HTTP协议。HTTP/2在支持HTTP1.1的基础上拓展了, 较之1.1在性能上有着大幅度的提升。现在基本都主流浏览器都支持HTTP2协议,许多支持HTTPS的网站基本也都启用了 HTT
协议 2021年08月04日 851次浏览

binglog解析成工具:binlog2sql

binlog2sql[使用binlog2sql工具来恢复数据库](https://www.cnblogs.com/lijiaman/p/12770397.html)(一)binlog2sql介绍binlog2sql是国内MySQL大佬danfengcao开发,许多MySQL爱好者参与改进的一款MyS
mysql 2021年07月21日 570次浏览

java之五种分布式事务实现方案

一.两阶段提交方案/XA 方案XA方案2PC的传统方案是在数据库层面实现的,如Oracle、MySQL都支持2PC协议,为了统一标准减少行业内不必要的对接成本,需要制定标准化的处理模型及接口标准,国际开放标准组织Open Group定义分布式事务处理模型DTP(Distributed Transac
2020年12月14日 729次浏览

中间件编程之提高ES查询速度

性能优化的杀手锏——filesystem cache你往 es 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesystem cache 里面去。es 的搜索引擎严重依赖于底层的 filesystem cache ,你如果给 filesystem
2020年12月11日 641次浏览