MQ即消息队列。
MQ有好几种,主要作用及使用场景就是解耦,异步,削峰。
解耦: 一对多同步消息,A系统将消息放到MQ,其他(B,C,D系统)需要数据的系统自己联系MQ
异步: 通过将用户消息放到MQ,来节省请求耗费时间,然后MQ再将用户写入数据放到其它库做到数据同步。
削峰: 先将大量用户请求写入MQ, 用户请求>>MQ>>ORACLE主库>>写到MQ>>同步其他库
消息队列缺点
系统可用性降低,复杂度提高 ,一致性问题。
MQ加进来自然多了一份风险。系统复杂度提升一个量级。但也要用。
Golden Gate(简称OGG)
1、OGG原理
OGG 通过捕获源数据库online redo log (在线重做日志)或archive log(归档日志)获得数据变化,形成tail( 队列文件 ),再将这些tail通过网络协议,传输到目标数据库, 目标端通过解析,插入至目标端数据库,
从而 实现源端与目标端数据同步。
2、OGG的特性:
1)、对生产系统影响小:实时读取交易日志,以低资源占用实现大交易量数据实时复制;
2)、以交易为单位复制,保证交易一致性:只同步已提交的数据;
3)、高性能,智能的交易重组和操作合并,使用数据库本地接口访问,并行处理体系,灵活的拓扑结构:支持一对一、一对多、多对一、多对多和双向复制等。