otter学习(四)—— 实践二:扩展同步

阅读完实践一的小伙伴肯定心想,如果只是单表同步,那我直接mysql的主从即可,何必搞得这么麻烦。

        虽然otter可以加速同步,但是国内的环境很少有达到阿里的那个场景的啊。

 

        这时,我们就要开始第二次实践,体验otter的高扩展性了。

        还是以实践一的场景为例子,但是,我们做一些扩展:

                假设我在同步的时候,把目标库数据平台当成数据仓库,以后全国所有的仓库都需要往数据平台写t_inventory_bin表数据,

                同时,有些数量字段不需要,只需要保留总数即可。

                此外,需要增加一个最后操作时间

       

        此时,我们分析需求,得到如下几点小结:

                1.目标库t_inventory_bin需要用warehouse_id字段来标识某条数据来源于某个仓库

                2.目前warehouse_id字段各个仓库并没有区分开,也就是说我们需要根据不同的仓库,重新赋值warehouse_id

                3.抛弃掉总数以外的其他数量字段

                4.增加一个最后操作时间

 

        那么,我们该怎么做呢?

一、修改目标表sql

        源sql为

        

        修改后sql为

        

        可以看到,我们去除了无用字段,增加了一个更新时间

二、编写自定义转义代码

        otter的设计模型为s\e\t\l,我们可以通过增加自定义处理代码来实现高扩展性。详见otter扩展性

        废话不多说,我们来看下如何通过转义代码来实现我们的需求

        

三、将我们的自定义代码植入到otter中

        1.找到我们之前配置的映射关系,点击编辑,进入到映射关系第一页。

         EventProcessor类型选择source,即源码模式。然后将我们的自定义代码黏贴到EventProcessor文本的文本框中,点击保存即可

完成

你可能感兴趣的:(otter,otter)