1.2 异步通知
方案二:异步通知
流程如下:
-
hotel-admin
对mysql
数据库数据完成增、删、改后,发送MQ
消息 -
hotel-demo
监听MQ
,接收到消息后完成elasticsearch
数据修改
1.3 监听binlog
方案三:监听binlog
流程如下:
-
给
mysql
开启binlog
功能 -
mysql
完成增、删、改操作都会记录在binlog
中 -
hotel-demo
基于canal
监听binlog
变化,实时更新elasticsearch
中的内容
1.4 选择
方式一:同步调用
-
优点:实现简单,粗暴
-
缺点:业务耦合度高
方式二:异步通知
-
优点:低耦合,实现难度一般
-
缺点:依赖mq的可靠性
方式三:监听binlog
-
优点:完全解除服务间耦合
-
缺点:开启binlog增加数据库负担、实现复杂度高
2.1 思路
利用课前资料提供的hotel-admin
项目作为酒店管理的微服务。当酒店数据发生增、删、改时,要求对elasticsearch
中数据也要完成相同操作。
步骤:
-
导入课前资料提供的
hotel-admin
项目