#方案1,利用logstash定时向数据库读取数据然后写入到elastic search中
架构:数据库+logstash+elastic search
缺点:1)因为是定时读取数据库,存在一定的时延
2)若同步时间间隔调的比较短,比如每秒定时同步一次数据,此时会增大业务数据库的压力
3)若一次同步的数据量比较大的话,网络传输成本会增大
相关链接:https://www.cnblogs.com/csts/p/6120644.html
#为了解决时延的问题,采用同步双写方案,实时同步数据,于是引入方案2:
方案2:同步双写,即在业务应用系统写数据到数据库时,同时插入一条数据到elastic search中
架构:业务应用+elastic search
缺点:硬编码,强业务耦合,性能差等
#为了解决同步双写性能差的问题,那么引入mq来实现异步双写,于是引入方案3:
方案3:异步双写,即引入mq并开发一个数据同步系统,在业务系统应用(生产者)中每做一笔交易,然后将数据发送到mq,数据同步系统(消费者)订阅mq消息,
完成数据同步到elastic search中
架构:业务应用+mq+同步系统+elastic search
缺点:1)