外贸网站 cms,上海知名的广告公司,西安营销型网站,重庆在线网站推广一般而言elasticsearch负责搜索#xff08;查询#xff09;#xff0c;而sql数据负责记录#xff08;增删改#xff09;#xff0c;elasticsearch中的数据来自于sql数据库#xff0c;因此sql数据发生改变时#xff0c;elasticsearch也必须跟着改变#xff0c;这个就是…一般而言elasticsearch负责搜索查询而sql数据负责记录增删改elasticsearch中的数据来自于sql数据库因此sql数据发生改变时elasticsearch也必须跟着改变这个就是elasticsearch与mysql之间的数据同步。
常见的数据同步的方法
同步调用 基本步骤如下
hotel-demo对外提供接口用来修改elasticsearch中的数据酒店管理服务在完成数据库操作后直接调用hotel-demo提供的接口
3.1.2.异步通知 流程如下
hotel-admin对mysql数据库数据完成增、删、改后发送MQ消息hotel-demo监听MQ接收到消息后完成elasticsearch数据修改
监听binlog 流程如下
给mysql开启binlog功能mysql完成增、删、改操作都会记录在binlog中hotel-demo基于canal监听binlog变化实时更新elasticsearch中的内容
优缺点
方式一同步调用 优点实现简单粗暴 缺点业务耦合度高
方式二异步通知 优点低耦合实现难度一般 缺点依赖mq的可靠性
方式三监听binlog 优点完全解除服务间耦合 缺点开启binlog增加数据库负担、实现复杂度高