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 的乐观锁机制造成的版本冲突吧?
|