面试题答案
一键面试主要流程
- 索引文档时触发:当向Elasticsearch索引一个新文档且未指定ID时,自动生成ID流程启动。
- 生成ID:系统依据特定算法生成一个ID。
关键技术点
- UUID算法:Elasticsearch默认使用通用唯一识别码(UUID)算法。UUID是一种由数字和字母组成的128位标识符,具有全球唯一性。它结合了时间戳、MAC地址(若可用)、随机数等信息,通过特定的哈希算法生成。
- 时间戳:确保生成ID在一定程度上的顺序性,便于在时间维度上区分不同生成的ID。
- MAC地址:利用设备的唯一硬件地址,增加ID的独特性。
- 随机数:进一步提高ID的唯一性,降低冲突概率。
- 唯一性:UUID算法生成的ID在全球范围内重复的概率极低,能有效确保生成的ID唯一性,满足大规模数据存储和索引对ID唯一性的要求。
- 合理性:生成的ID长度固定,占用空间较小且结构稳定,便于存储、传输和索引。同时,ID生成不依赖外部服务(除获取MAC地址等设备相关信息外),减少了因外部依赖造成的故障风险,保证了ID生成的稳定性和高效性。