开发者社区> 问答> 正文

数据库同步进入死循环。

两个数据库进行同步,在一边数据库数据发生变化后,同步到另外一边,但是这边数据库数据更新后,也发生了变化,又将数据同步到另一边,这样进入死循环。请问应该怎么解决。初次接触otter,麻烦具体讲解下。谢谢~~~~

原提问者GitHub用户 shiqicheng

展开
收起
大圣东游 2023-06-21 17:15:10 82 0
2 条回答
写回答
取消 提交回答
  • 一个channel里配置两个pipeline

    原回答者GitHub用户agapple

    2023-06-21 18:16:08
    赞同 展开评论 打赏
  • 这种死循环情况可能是由于双向同步机制中出现了回路导致的。在双向同步中,如果没有特殊处理,常常会出现循环同步的情况,这会导致数据同时在两个数据库进行不停地同步,最终导致系统不稳定。

    解决这种问题的方法有很多,其中一个常用的方法是通过设定同步规则来防止数据的循环同步。具体来说,你可以考虑以下两种方法:

    1. 设定同步规则:设定同步规则是避免双向同步死循环的有效方法。你可以通过一些规则来指定数据同步的方向和条件,例如,指定数据的同步周期、流向或数据同步的触发条件等。在 otter 中可以通过名为 sync_filter 的配置项来实现同步规则。

    2. 使用单向同步:如果设定同步规则比较复杂,你可以考虑使用单向同步来避免死循环。单向同步只将数据从源数据库向目标数据库进行同步,而不允许从目标数据库向源数据库同步。这样就可以避免死循环的发生。

    解决这种问题的方法取决于实际业务场景,你需要对 otter 的同步机制和配置项进行深入了解,并通过根据业务场景采取相应的防范措施实现数据的稳定同步。

    2023-06-21 17:25:54
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载