热文原生的 NIO 在 JDK 1.7 版本存在 EPoll BUG
它会导致 Selector 空轮询,最终导致 CPU 100%。官方声称在 JDK 1.6 版本的 update18 修复了该问题,
热文消息的堆积解决思路
如果还没开始投入使用 Kafka,那应该在设计分区数的时候,尽量设置的多点(当然也不要太大,太大影响延迟,具体可以参考我前面提到的文章),从而提升生产和消费的并行度,避免...
热文Redis 为什么是单线程的
因为 CPU 不是 Redis 的瓶颈。Redis 的瓶颈最有可能是机器内存或者网络带宽。(以上主要来自官方 FAQ)既然单线程容易实现,而且 CPU 不会成为瓶颈,那就...
热文Redis 持久化机制
AOF 持久化方式则会记录每一个服务器收到的写操作。在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式跟 Redis 协议一致,以追加的方式...
热文聊聊 MongoDB 使用场景
MongoDB 非常适合高伸缩性的场景,它是可扩展性的表结构。基于这点,可以将预期范围内,表结构可能会不断扩展的 MySQL 表结构,通过 MongoDB 来存储,这就可...
热文ObjectId 规则
前四位是时间戳,可以提供秒级别的唯一性。 - 接下来三位是所在主机的唯一标识符,通常是机器主机名的散列值。 - 接下来两位是产生 ObjectId 的 PID,确保同一台...
热文选择合适的数据存储方案
MySQL 是一个最流行的关系型数据库,在互联网产品中应用比较广泛。一般情况下,MySQL 数据库是选择的第一方案,基本上有 80% ~ 90% 的场景都是基于 MySQ...
热文选择合适的分布式主键方案
选择合适的分布式主键方案 数据库自增长序列或字段 UUID 使用 UUID to Int64 的方法 Redis 生成 ID Twitter 的 snowflake 算法
热文存储引擎的 InnoDB 与 MyiSAM
1. InnoDB 不支持 `FULLTEXT` 类型的索引。 2. InnoDB 中不保存表的具体行数,也就是说,执行 `select count() from tab...
热文MySQL 遇到的死锁问题
产生死锁的四个必要条件: 互斥条件:一个资源每次只能被一个进程使用。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:进程已获得的资源...