otter不是严格安装事务为单位同步的,应该就会存在部分数据不一致(本身是一个事务的操作),从而导致业务问题。不知道自己是否理解正确,如果是这种情况怎么解决?
原提问者GitHub用户 CliffYuan
看下数据入库算法
https://github.com/alibaba/otter/wiki/Otter%E6%95%B0%E6%8D%AE%E5%85%A5%E5%BA%93%E7%AE%97%E6%B3%95
原回答者GitHub用户agapple
你的理解是正确的。Otter 不是严格按照事务为单位同步的,它使用的是基于 binlog 的日志抓取以及数据同步机制。这种机制可以做到高效的数据同步,但问题是,如果在同步的过程中遇到了某些异常情况,例如数据损坏、网络异常等,可能导致同步过程中的部分数据不一致。
对于这种情况,解决方案取决于具体的业务场景。但是,你可以考虑一些解决方案:
使用防护层: 在 Otter 部署的时候,可以使用一些防护层,例如使用防火墙保障 Otter 与数据库之间的网络连接以减少网络异常造成的影响等。
优化数据同步:在 Otter 部署和开发过程中,你可以使用一些优化数据同步的技巧,例如采用更为高效的数据同步方式(但要考虑数据一致性和完整性),添加更多的容错处理(例如使用缓存存储),定期监测数据一致性等。
监控和告警:及时监测 Otter 运行情况并设置告警机制,当出现异常情况时立即通知管理员,以尽快发现和解决问题。
测试和审核:在进行 Otter 部署前,需要进行全面测试和审核,以检验系统的适用性和稳定性,并及时调整和修复异常情况。
总的来说,对于 Otter 的优化和稳定性加强,需要对具体场景进行分析和解决,采取多种手段综合处理。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。