比如在ip地址是1.1.1.1的服务器上有一个数据库a,a中有一个表aa;ip地址是1.1.1.2的服务器上有一个数据库b,b有一个表bb。现在每对aa插入一条数据,能不能实现对bb插入一条数据,能保证数据传输的安全性和速度更好.两个库在不同的网络内.
4条回答 默认 最新
- little_how 2019-05-28 15:52关注
这个难就难在数据一致性不好保证;
1.使用消息中间件,小库插入成功后发送一条消息到中间件,然后有一个程序专门负责处理消息,将数据再写到大库里;
这里比较难的地方就是要保证A.小库写入成功要保证消息投递成功 B.消息处理处要保证数据写入大库成功才回执消息的ack;
C.消息处理的幂等性,同一条数据的消息要保证只插入成功一次;
最好还有检查机制,加上定时任务来保证;2.程序负责双写,各个事务隔离开,先写小库,小库最好还有一张表来表示是否写了大库,小库写成功后调用写大库,如果成功就ok,如果失败则由定时任务从
小库里面的负责大库写的业务表里面捞数据,然后补大库中去,保证最终一致,大库也要保证有幂等表,防止多次写入;希望对你有帮助...
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求解 yolo算法问题
- ¥15 虚拟机打包apk出现错误
- ¥30 最小化遗憾贪心算法上界
- ¥15 用visual studi code完成html页面
- ¥15 聚类分析或者python进行数据分析
- ¥15 三菱伺服电机按启动按钮有使能但不动作
- ¥15 js,页面2返回页面1时定位进入的设备
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝