未分類 20 7 月 2020 怎么监听数据库的变化来触发 Lucene 的索引更新 怎么监听数据库的变化来触发 Lucene 的索引更新 資深大佬 : yanshenxian 16 没有 rabbitmq 等消息队列的情况下… 大佬有話說 (8) 資深大佬 : liujan 阿里有个监听数据库变化的项目,叫:canal,你可以看下能不能满足你的需求。 主 資深大佬 : yanshenxian @liujan canal 支持局部订阅吗 小服务可能压力有点大 資深大佬 : liujan @yanshenxian 你可以看下他们的文档,具体我也不大记得了。 資深大佬 : henyi2211 查查 binlog 日志 相关资料 資深大佬 : 200ok 1. 上说的监听数据库变化2. 你的服务轮询数据库3. 数据库写入方在写入数据库同时给你发一份数据4. 数据库写入方 pub 你的服务 sub 收到 pub 信号时取查一次数据库,更新 lucene 能想到的大体是这样 資深大佬 : Cbdy canal 还行 資深大佬 : optional 无侵入的方法:监听 binlog (最干净),定时扫描(可以根据 updatedAt 优化)其次应用 dual write 資深大佬 : sunxiansong 之前用 PG 的时候,pg 有个 listen/notify 特性,相当于监听 /通知消息队列 给表写触发器,数据变动的时候发消息,收到消息后更新 ELK 索引