1、同步调用
操作步骤:
- 管理系统新增酒店数据添加到数据库
- 调用 ES 更新文档接口,同步数据库的数据到 ES 文档
流程图:
特点:
- 优点:实现简单,粗暴
- 缺点:业务耦合度高
2、异步消息通知
操作步骤:
- 管理系统更新酒店数据同步到数据库
- 发布酒店数据变更消息
- 监听酒店数据变更消息
- 更新新的酒店信息到 ES 文档
流程图:
特点:
- 优点:低耦合,实现难度一般
- 缺点:依赖 MQ 的可靠性
3、监听 binlog
操作步骤:
- 开启 MySQL的 binlog 功能
- MySQL完成增、删、改操作都会记录在 binlog 中
- 使用 canal 监听 MySQL的 binlog,并实时更新 ES 文档内容
流程图:
特点:
- 优点:完全解除服务间耦合
- 缺点:开启 binlog 增加数据库负担、实现复杂度高