数据同步在垮产品或者垮系统之间是经常用到的,且经常是不得不用的;这种地方是最容易产生
问题的地方,一般也是最恶心的地方;
数据同步有两种方式,一种是增量的同步,一种是全量的同步;两种方式各个各的好处,也各个各
的问题;增量同步,主要是生产方和接收方生成和处理数据逻辑都不会很简单,时间一长,很容易造成数据
的不一致;全量同步一般不会造成数据的不一致情况,但随着数据量的增大,全量数据到最后往往会非常大
造成生成和处理都有点不太可能;
上述这几条在数据同步中基本都考虑到了,也遇到过n次,也不得不容忍,修正之类的;但前些天
发生的一件事情使我对“全量数据同步”这一方法产生了极大的恐惧感;
全量数据同步的好处是生产方和消费方逻辑都比较简单,就是每天在某固定时刻重新生成所有的数据
不像增量那样要处理有可能非常复杂的增量逻辑;但是:正因为是重新生成,所以全量数据的准确性特别是
全面性变得非常非常重要,说白了就是全量数据如果因为某种原因导致丢失了部分甚至大部分数据,造成的
后果是非常严重非常严重的;比如:白名单问题,如果白名单是以全量数据过去的,假设某天这一同步出了
问题,产生了一个空的白名单,完蛋了,消费方看到了一个空白名单...
数据同步其实是非常容易出问题的,比如:生产方和消费方的时间点问题,rsync问题等等;如果又
刚好采用全量同步,一旦某天出问题,导致的结果有可能是灾难性的!!
怎么防止或者监控呢?需要生产方特别是消费方对全量数据进行一个检验,如果发现全量数据异常
最好立即停下处理,然后发邮件报警,然后人工干预处理;至于怎样的检测,最简单的检测方法就是:检查
数据的数量,如果发现数量明显异常(太少或者太多)之类...
谨记!!!!
阅读(7121) | 评论(0) | 转发(0) |