比如在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 halcon23.11安装
- ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
- ¥20 OPENVPN连接问题
- ¥15 flask实现搜索框访问数据库
- ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题