微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 28 数据同步
- 28.6 测试同步功能
- 28.6.1 直接开干
28 数据同步
28.6 测试同步功能
28.6.1 直接开干
案例:利用MQ实现mysql与elasticsearch数据同步
利用课前资料提供的hotel-admin项目作为酒店管理的微服务。当酒店数据发生增、删、改时,要求对elasticsearch中数据也要完成相同操作。
步骤:
- 导入课前资料提供的hotel-admin项目,启动并测试酒店数据的CRUD √
- 声明exchange、queue、RoutingKey √
- 在hotel-admin中的增、删、改业务中完成消息发送 √
- 在hotel-demo中完成消息监听,并更新elasticsearch中数据 √
- 启动并测试数据同步功能 【这一步了】
重启hotel-demo
OK,再重启hotel-admin
OK
先看一下MQ 的控制台
OK, 队列已经上来了
再看看交换机
OK,也没问题
绑定关系
OK, 绑定关系也没问题
先看到黑马旅游 8089 的前端页面
比如我现在就想修改这家酒店
看看它的ID ,通过Vue开发工具
OK,可以看到,这家酒店 的id 是60223
看到“酒店管理”
OK,就是它 了
现在是2688,改成2686
OK, 修改成功
看看MQ 的控制台
这个队列中
其实确实有一条消息,已经过去了
直接看看黑马旅游网验证
OK,修改成功了已经变化了,666666666【这是更新测试】
再试试删除
在酒店管理中直接把这个酒店干掉
确定
OK,
看看MQ 控制台
有一条消息吧
直接在黑马旅游中找找这个酒店
刷新
现在只有12 条了
删除成功了
【测试新增】【这里笔者手快了,不该真删的】
INSERT INTO
tb_hotel
VALUES (60223, ‘上海希尔顿酒店’, ‘静安华山路250号’, 2688, 37, ‘希尔顿’, ‘上海’, ‘五星级’, ‘静安寺地区’, ‘31.219306’, ‘121.445427’, ‘https://m.tuniucdn.com/filebroker/cdn/res/92/10/9210e74442aceceaf6e196d61fc3b6b1_w200_h200_c1_t0.jpg’);
刚刚删除的就是这条数据
现在把它加回去
{"id":60223,"name":"上海希尔顿酒店","address":"静安华山路250号","price":2686,"score":37,"brand":"希尔顿","city":"上海","starName":"五星级","business":"静安寺区","longitude":"31.219306","latitude":"121.445427","pic":"https://m.tuniucdn.com/filebroker/cdn/res/92/10/9210e74442aceceaf6e196d61fc3b6b1_w200_h200_c1_t0.jpg"}
直接把这个json 数据放到
这个里面
点击确定
OK,新增成功
就又回来了
看看MQ 控制台
可以看到是有消息的
但是笔者这里报错了
可以看到消费也失败了
看看原因
好像是数据转换的时候出了问题
哦,我知道了,数据结构改过,但是中途,笔者因为下课,把服务器停掉了
笔者又重新做了一下索引库
OK, 现在行了
上海希尔顿就又回来了