该文被密码保护。 阅读全文
摘要:
1. 问题描述与解决方案 问题: 查看业务日志发现, 生产者和消费者都被"卡死", 没有看到错误日志. 查看 RabbitMQ 控制台发现 connection 都被 blocked. 同时看到磁盘空间警告. 解决方案: 修改配置文件把 disk_free_limit.absolute 从 20 G 阅读全文
摘要:
如何设计安全的分布式锁 在生产环境下一般不会使用单实例redis, 然而集群下的redis使用如下方式获取分布式锁存在安全性问题, 不管是 sentinel 模式或者 cluster 模式, 主要受限于 redis 数据同步模型. 从 CAP 理论上讲, redis 实现了 AP 即放弃了一致性, 阅读全文
摘要:
数据库版本(select version();): 5.7.32-log sakila 下载地址: https://dev.mysql.com/doc/index-other.html type 表示 MySQL 在表中找到所需行的方式, 又称"访问类型". ALL, index, range, r 阅读全文
摘要:
1. 术语 节点的深度: 对于任意节点 n, n 的深度为从根到 n 的唯一路径长, 根的深度为 0; 节点的高度: 对于任意节点 n, n 的高度为从 n 到一片树叶的最长路径长, 所有树叶的高度为 0; 树的深度: 树中所有节点的最大深度, 称作树的深度; 树的高度: 树的高度等于它的根节点的高 阅读全文
摘要:
1. 概述 AQS(AbstractQueuedSynchronizer)提供了原子式管理同步状态/阻塞和唤醒线程功能以及队列模型的简单框架, 许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch等. 2. 框架 它维护了一个volatile 阅读全文
摘要:
Elasticsearch version: 7.8 需求是分页去重获取索引中的数据, 类似 MySQL 的 distinct. Elasticsearch 中的 collapse 可以实现该需求. collapse 官网文档 You can use the collapse parameter t 阅读全文
摘要:
Elasticsearch 7.X 版本, 如果查询结果总数大于1万, 默认 totlal 上的返回的总数是 10000,如果想获取到真实的总数, 则要在查询的时候添加以下参数: { "track_total_hits": true, "query": { "match_all": {} } } 如 阅读全文
摘要:
MySQL version: 5.7.X 对查询进行优化, 应尽量避免全表扫描, 首先应考虑在 where 及 order by 涉及的列上建立索引. 导致索引失效的操作: 应尽量避免在 where 子句中使用 != 或 <> 操作符, 否则将引擎放弃使用索引而进行全表扫描. 应尽量避免在 wher 阅读全文
摘要:
Java version: 1.8.0_151-b12 AES(Advanced Encryption Standard)加密算法属于对称加密算法,AES加密算法的安全性要高于DES和3DES, 所以AES已经成为了主要的对称加密算法. AES的加密流程 要理解AES的加密流程, 会涉及到AES的五 阅读全文