引言
本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop
在前面的博客,已经实现了利用Logstash
自动同步数据库内容到ES
,除了Logstash
同步的方式,还可以使用MQ
的形式来同步,他们有什么区别呢?本文来讲解下。
阅读前,有兴趣的小伙伴可以看之前写的两篇博客:
本文目录结构:
1. MQ与Logstash同步原理对比
先来看看Logstash同步数据库的内容到ES原理图:
再来看看MQ同步数据库的内容到ES原理图:
它们之间有什么区别呢?我做了一张表格:
区别 | MQ | Logstash |
数据库处理 | 插入或更新数据立刻推送 | 定时从数据库获取 |
速度 | 实时推送 | 定时推送 |
复杂性 | 复杂 | 简单 |
最终一致性 | 强(有容错补偿机制) | 弱 |
2.总结
本文主要讲解MQ与Logstash实现数据库同步ES的区别。