DeathWhispers

说说 Netty 如何实现高性能?

线程模型 :更加优雅的 Reactor 模式实现、灵活的线程模型、利用 EventLoop 等创新性的机制,可以非常高效地管理成百上千的 Channel 。 内存池设计 :使用池化的 Direct Buffer 等技术,在提高 IO 性能的同时,减少了对象的创建和销毁。并且,内吃吃的内部实现是用一颗二叉查找树,更好的管理内存分配情况。 内存零拷贝 :使用 Direct Buffer ...

聊聊最大努力通知方案

艿艿瞅了瞅市面上的资料,分别有两种解释。或者说,两种不同的解决方案。 解释一 最大努力送达,是针对于弱 XA 的一种补偿策略。它采用事务表记录所有的事务操作 SQL 。 如果子事务提交成功,将会删除事务日志。 如果执行失败,则会按照配置的重试次数,尝试再次提交,即最大努力的进行提交,尽量保证数据的一致性,这里可以根据不同的业务场景,平衡 C 和 A ,采用同步重试或异步重...

聊聊数据库索引

索引是一块物理空间,会占用数据库的空间 索引氛围B树索引和位图索引,下图为B树索引 一般SQL优化有几种解决方案: 1.索引(index) 2.分区(partition) 3.物化视图 4.并行查询 索引的说明和目的 索引是与表相关的一个可选结构,在逻辑上和物理上都独立于表的数据,索引能优化查询,不能优化DML操作,Oracle自动维护索引,银帆的DML操作反而会引起大量...

聊聊分库分表面试题

精尽【分库分表】面试题 以下面试题,基于网络整理,和自己编辑。具体参考的文章,会在文末给出所有的链接。 如果胖友有自己的疑问,欢迎在星球提问,我们一起整理吊吊的【分库分表】面试题的大保健。 而题目的难度,艿艿尽量按照从容易到困难的顺序,逐步下去。 为什么使用分库分表? 如下内容,引用自 Sharding Sphere 的文档,写的很大气。 《ShardingSphere >...