今天给大家介绍一个电商中常见的场景 —— MySQL 数据同步 Elasticsearch。
商品检索
大家应该都在各种电商网站检索过商品,检索商品一般都是通过什么实现呢?搜索引擎Elasticsearch。
那么问题来了,商品上架,数据一般写入到MySQL的数据库中,那么用于检索的数据又是怎么同步到Elasticsearch的呢?
MySQL同步ES
1.同步双写
这是能想到的最直接的方式,在写入MySQL,直接也同步往ES里写一份数据。
同步双写
对于这种方式:
-
优点:实现简单
-
缺点:
-
业务耦合,商品的管理中耦合大量数据同步代码
-
影响性能,写入两个存储,响应时间变长
-
不便扩展:搜索可能有一些个性化需求,需要对数据进行聚合,这种方式不便实现
-