作者
李猛
Elastic Stack深度用户
Elastic认证工程师
前一篇文章 《DB与ES混合之应用系统场景分析探讨》,我们主要探讨了混合场景下的多种模型映射类型,基本覆盖了应用业务系统如何借助Elasticsearch 来解决DB局限性。
下面这篇文章,我们主要解决 DB 到 Elasticsearch 数据实时同步问题。
01
背景需求
DB与ES本质上是属于不同应用领域的数据库产品,混合应用在一起主要面临2个问题 :
1、同步实时性,数据在DB更新之后,需要多久才能更新到 Elasticsearch,多久的时间是应用系统可以接受的范围,一般需要控制在1s以内,如果是分钟以上,那这就属于离线同步。
2、数据一致性,数据频繁在DB变更修改,更新到Elasticsearch之后如何保证数据与DB一致,在容许的时间范围内应用系统查询的数据有效的,可接受的,如果变更出现覆盖等,那数据是无效的,应用系统是不可接受的。
02
同步模式
在数据同步方面,主要有3种同步模式
1、推送模式,数据源将变更数据推送到目标源,如RabbitMQ产品,服务端会主动MQ发送