ITPub博客

首页 > 大数据 > 数据分析 > 想起一句话:”多加一层,就可以把问题解决了“

想起一句话:”多加一层,就可以把问题解决了“

原创 数据分析 作者:husthxd 时间:2016-02-15 18:36:41 0 删除 编辑

近段时间在做HA(高可用)的设计,数据库使用Mongodb,测试场景是1主2从

测试发现,在往Mongodb批量写入数据(100w的数据)时,主节点宕机,当前请求会抛出异常,下一请求自动切换到从节点上,而且100w的数据中有30w+的数据已同步到从节点上,说明Mongodb在执行CRUD时如果主节点宕机会抛出异常并且不能保证数据的一致性,即100w数据要么全部插入,要么全部不插入。

因此,在应用层和Mongodb之间多加一层数据访问层(DAO),在DAO中捕获异常后,清除本次出错操作的状态(如清除部分已插入的数据等),并重新执行,从而实现对应用的全透明。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/6906/viewspace-1989173/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
ITPUB数据库版块资深版主,对Oracle、PostgreSQL有深入研究。

注册时间:2007-12-28

  • 博文量
    1602
  • 访问量
    4380112