mongodb3.6 (四)net 客户端如何连接、访问mongodb集群
前言
在是一篇文章mongodb如何做数据备灾 中已经介绍mongodb集群是如何工作,可能很多人都有这样一个疑问:客户端如何知道主服务挂了呢?这一篇文章将介绍如何在net中访问这个集群。
第一步、安装MongoDB.Driver
在demo中,打开nuget安装MongoDB.Driver,如下图所示:
第二步、配置MongoClient构造
从上图中,可以看到,这个集群只有两个mongodb实例40001,40002
第三步、运行demo
循环100次,写入数据;当人为停止一个主mongodb时,将会捕捉异常。
运行结果如下:
可以看到,当人为停止主mongodb服务,在客户端将会捕捉到异常。在实际项目中,需要考虑如何处理这个异常,比如j将数据放到一个队列中,下次重发;又或者做记录日志文件等。
在超时时间(默认30秒)允许范围内,Mongodb集群没有选举出新的主服务器之前,程序是处于阻塞状态的。这个选举过程大概耗时2-3秒。当从集群中选举新的主服务器后,程序将继续执行。