
es 在并发写入的情况下,为啥会出现部分数据丢失的情况?
1 90928yao 2020 年 9 月 14 日 压测的时候? |
2 des 2020 年 9 月 14 日 看看有没有报错什么的,es 的内部队列满了会暂时拒绝请求 |
4 a7217107 OP 用的 x-pack |
5 Macuilxochitl 2020 年 9 月 14 日 关注一下错误率 |
6 wakzz 2020 年 9 月 14 日 贴一下返回的报错报文以及 es 的报错日志 |
7 yoqu 2020 年 9 月 14 日 建议通过消息队列异步入 es |
8 syncnano 2020 年 9 月 14 日 只要涉及到写入 es 的,就一定要关注写入失败的情况,参考: `_cat/thread_pool?v` |
9 kefirzhang 2020 年 9 月 14 日 再没有写入 ack 确认,失败重试的情况下,如果高并发写入达到 es 瓶颈肯定会拒绝后续请求造成数据丢失。 可以采用写到 redis 的队列里面用 logstash 读取。或者写到 kafak 里面 , 其实原理一样 写到一个缓存队列,削峰填谷! |
10 manaBurn 2020 年 9 月 14 日 如果是同一个文档,是因为 es 的乐观锁机制造成的版本冲突吧? |