博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
想起一句话:”多加一层,就可以把问题解决了“
阅读量:2506 次
发布时间:2019-05-11

本文共 417 字,大约阅读时间需要 1 分钟。

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

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

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

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

转载于:http://blog.itpub.net/6906/viewspace-1989173/

你可能感兴趣的文章
TZC Intercommunication System
查看>>
HDU 4571 SPFA+DP
查看>>
centos 创建以日期为名的文件夹
查看>>
Java Timer触发定时器
查看>>
Page Object设计模式
查看>>
程序的基础知识
查看>>
在VIM中使用GDB调试 – 使用vimgdb
查看>>
单独编译Android源代码中的模块
查看>>
小菜学习编程-Winform系列(初学者)
查看>>
C++基础回顾1(数据类型, 控制语句, 数组)
查看>>
Java数值转化为二进制、十进制、十六进制字符串
查看>>
javascript——ajax应用
查看>>
【转】芯片封装详细介绍
查看>>
DataFrame对行列求和并添加新行和列
查看>>
天气查询接口文档
查看>>
第4章 数据分析和机器学习的区别 4-2 数据分析和机器学习的区别(2)
查看>>
4.6.4 白盒测试(第一部分)
查看>>
Android开发之MVP模式的使用
查看>>
eclipse里部署的tomcat启动超时的解决
查看>>
jvm学习三:自定义ClassLoader
查看>>