MongoDB的SSL实现分析】的更多相关文章

1. OPENSSL接口封装 MongoDB封装了OPENSSL的SSL通信接口,代码在mongo/util/net目录.主要包括以下几个方面: 1) SSL配置参数,在ssl_options(.cpp/.h) 定义了数据结构SSLGlobalParams,SSLGlobalParams中保存了与SSL相关的所有的配置参数.在ssl_options中定义了一个SSLGlobalParams类型的全局变量sslGlobalParams,在客户端或者服务器进程启动时会通过相关接口从全局的配置参数中将…
1. MongoDB对SSL的支持情况 MongoDB社区版本不支持SSL,企业版提供对SSL的支持.MongoDB源代码中包含SSL的实现,可以自己编译带SSL的MongoDB. MongoDB支持客户端与mongos.mongod之间的SSL通信,以及replica set和sharded集群成员之间的SSL通信.MMS支持SSL. 目前Python, Java, Ruby, Node.js, .NET, C, C++驱动都支持SSL.mongo shell支持SSL. MongoDB各类工…
mongodb基本命令,mongodb集群原理分析 集合: 1.集合没有固定数据格式. 2. 数据: 时间类型: Date() 当前时间(js时间) new Date() 格林尼治时间(object) ISODate() 格林尼治时间(object) 转换: new Date()/ISODate().toLocaleString() 转为本地时间Date() new Date()/ISODate().valueOf() 转为时间戳 ID: mongodb每个文档必须有一个_id键 默认_id =…
作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs MongoDB v2.4版于3月19日发布,它引入了内置的文本搜索功能,以及基于哈希的分片和众所期盼的安全特性. 同时,10gen公司发布了MongoDB的企业版,它在开源版的基础上增加了安全和监控的特性,易于与其它企业软件相集成. 缺乏安全使得NoSQL技术广受批评.MongoDB企业版增加了基于角色的访问控制,这意味着用户的权限能得到更好的控制,还可以选择需要客户端提供签名的SSL证书.MongoD…
APR连接器的思路和bio,nio的整体架构也是类似的,可以看到下面的整体框图: 第一个区别是,对于从Acceptor线程中的socket解析这块,无论是nio还是bio都是在Acceptor线程内直接阻塞执行的,对于APR通道,搞出一个SocketWithOptions的线程,专门执行这个socket解析的工作,然后直接交给Poller线程进行poll: 其次,SSL交互和socket接收等等都是调用tomcat-native的JNI的代码来完成的. 下面通过源码分析,讲讲整个框图中比较核心的…
聚集操作是对数据进行分析的有效手段.MongoDB主要提供了三种对数据进行分析计算的方式:管道模式聚集分析,MapReduce聚集分析,简单函数和命令的聚集分析. 1. 管道模式进行聚集 这里所说的管道类似于Unix上的管道命令.数据通过一个多步骤的管道,每个步骤都会对数据进行处理,最后返回需要的结果集.管道提供了高效的数据分析流程,是MongoDB中首选的数据分析方法.一个典型的管道操作流程如下图所示:…
最近,长期运营后的港台服出现一个问题,web充值很慢,用gm指令查询玩家信息也很慢.最后定位到MongoDB查询也很慢.   刚开始定位的时候,运营SA直接查指定的玩家,并反映很慢,就猜测是索引的问题.有可能是索引太大,没法全部放进内存,导致读索引需要多次读取磁盘,最后整个查询要4-5s才能完成.后来阅读了一下MongoDB的文档,发现其也是用B-Tree放索引的,也尽量将索引加载在内存里了.当然,索引有没有在内存里这个指标,还是没有日志或者查询结果暴露的……   后来,对面运营客服提醒,只有指…
索引的限制: 索引名称不能超过128个字符 每个集合不能超过64个索引 复合索引不能超过31列 MongoDB 索引语法 db.collection.createIndex({ <field>: < 1 or -1 > }) db.collection.ensureIndex({ <field>: < 1 or -1 > }) db.collection.createIndex( { "filed": sort } ) db.collec…
Redis和Memcache 一.Redis简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.从2013年5月开始,Redis的开发由Pivotal赞助. NoSql 数据存储 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集…
GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. http://www.mongodb.org/display/DOCS/GridFS http://www.mongodb.org/display/DOCS/GridFS+Specification GridFS使用 MongoDB提供了一个命令行工具mongofiles可以来处理GridFS,在bin目录下. 列出所有文件: mongofiles list 上传一个文件: mongofiles put x…