elasticsearch 单机高并发写入出现丢失数据的情况

2020-09-14 16:01:46 +08:00
 a7217107

es 在并发写入的情况下,为啥会出现部分数据丢失的情况?

3156 次点击
所在节点    程序员
10 条回复
90928yao
2020-09-14 16:11:23 +08:00
压测的时候?
des
2020-09-14 16:18:39 +08:00
看看有没有报错什么的,es 的内部队列满了会暂时拒绝请求
a7217107
2020-09-14 16:24:05 +08:00
@90928yao 是的,并发量高一点就会丢
a7217107
2020-09-14 16:25:00 +08:00
用的 x-pack
Macuilxochitl
2020-09-14 17:18:41 +08:00
关注一下错误率
wakzz
2020-09-14 17:21:46 +08:00
贴一下返回的报错报文以及 es 的报错日志
yoqu
2020-09-14 17:27:59 +08:00
建议通过消息队列异步入 es
gtexpanse
2020-09-14 17:36:32 +08:00
只要涉及到写入 es 的,就一定要关注写入失败的情况,参考:
`_cat/thread_pool?v`
kefirzhang
2020-09-14 17:50:51 +08:00
再没有写入 ack 确认,失败重试的情况下,如果高并发写入达到 es 瓶颈肯定会拒绝后续请求造成数据丢失。
可以采用写到 redis 的队列里面用 logstash 读取。或者写到 kafak 里面 ,
其实原理一样 写到一个缓存队列,削峰填谷!
manaBurn
2020-09-14 18:01:08 +08:00
如果是同一个文档,是因为 es 的乐观锁机制造成的版本冲突吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/706908

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX