04 2019 档案

pymongo中的连接操作:Connection()与MongoClient()
摘要:class MongoClient(pymongo.common.BaseObject) Connection to MongoDB. Method resolution order: MongoClient pymongo.common.BaseObject __builtin__.object 阅读全文

posted @ 2019-04-29 16:03 ExplorerMan 阅读(4584) 评论(0) 推荐(0)

GraphQL搭配MongoDB入门项目实战
摘要:什么是GraphQL GraphQL 是一种面向 API 的查询语言。在互联网早期,需求都以 Web 为主,那时候数据和业务需求都不复杂,所以用 RestAPI 的方式完全可以满足需求。但是随着互联网的发展,数据量增大,业务需求多变。还有各种客户端需要接口适配,基于 RestAPI 的方式,显得越来 阅读全文

posted @ 2019-04-29 15:52 ExplorerMan 阅读(1562) 评论(0) 推荐(0)

使用sphinx快速为你python注释生成API文档
摘要:sphinx简介sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发。新版的Python3文档就是由sphinx生成的,并且它已成为Python项目首选的文档工具,同时它对C/C++项目也有很好的支持。更多详细特性请参考 阅读全文

posted @ 2019-04-29 14:45 ExplorerMan 阅读(522) 评论(0) 推荐(0)

使用 Flask-Docs 自动生成 Api 文档
摘要:影响我写文档的原因可能是代码和文档分离,有时候写完代码会忘记补文档,而且不能及时查看,使用 Flask-Docs 可以解决我的问题,这个插件可以根据代码注释生成文档页面,代码注释改动文档可以及时更新,而且支持离线文档下载。 Flask-DocsFlask Api 文档自动生成插件 特性根据代码注释自 阅读全文

posted @ 2019-04-29 14:40 ExplorerMan 阅读(917) 评论(0) 推荐(0)

数据库设计误区:备用字段 / 保留字段 / 预留字段
摘要:数据库设计误区:备用字段 / 保留字段 / 预留字段 【现象描述】在数据表中,不仅设计了当前所需要的字段,而且还在其中留出几个字段作为备用。比方说,我设计了一个人员表(Person),其中已经添加了各种必要的字段,包括姓名(Name)、性别(Sex)、出生年月日(birthday)等等。大功告成之后 阅读全文

posted @ 2019-04-29 14:28 ExplorerMan 阅读(1038) 评论(0) 推荐(0)

动态增加数据库表字段
摘要:项目组会议上讨论的关于不定字段数目的数据库表问题并没有结果,今天继续分析之后发现问题可能还更大。当时讨论的结果是可能采用四种技术: 动态增加数据库表字段 预留足够的空白字段,运行时作动态影射 用xml格式保存在单字段里 改列为行,用另外一个表存放定制字段 【一】 现在我们来分析一下四种技术的优劣,不 阅读全文

posted @ 2019-04-29 14:27 ExplorerMan 阅读(1581) 评论(0) 推荐(0)

MongoDB 运维实战总结
只有注册用户登录后才能阅读该文。

posted @ 2019-04-29 00:41 ExplorerMan 阅读(13) 评论(0) 推荐(1)

Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解
摘要:跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败 说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安装了Python3.6 Django virtualenv gunicorn supervisor的 阅读全文

posted @ 2019-04-26 18:04 ExplorerMan 阅读(315) 评论(0) 推荐(0)

supervisor支持python虚拟环境venv
摘要:在项目中使用supervisor时,如何在虚拟环境下启动一直存在些小问题。 比如我要写 Cesi程序的监听,我是手动安装的执行之前 要先加载环境source venv/bin/activate 所以写了个启动脚本 start_cesi.sh 在脚本中激活虚拟环境, #!/bin/bash sourc 阅读全文

posted @ 2019-04-26 18:01 ExplorerMan 阅读(3206) 评论(0) 推荐(0)

gunicorn启动flask项目的坑
摘要:问题描述:项目用的是flask框架,在项目上线的时候,服务器上是使用gunicorn来启动项目的。但是上线之后,发现服务成功启动了,也有正确的返回值,但是没有生成日志,而用python来启动服务的时候,是会生成日志的。 下面是要上线的服务的入口文件server.py的主要代码块: from xxx 阅读全文

posted @ 2019-04-26 17:44 ExplorerMan 阅读(1922) 评论(0) 推荐(0)

flask,gunicorn,supervisor,nginx配置服务器接口
摘要:1,申请阿里云主机 2,apt-get update 3,apt-get install pip 4,pip install virtualenv 5,virtualenv venv 6,source venv/bin/activate 7,pip install flask 8,vim myapp 阅读全文

posted @ 2019-04-26 17:12 ExplorerMan 阅读(177) 评论(0) 推荐(0)

Python3 Flask+nginx+Gunicorn部署(上)
摘要:前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合nginx +gunicorn在服务器上进行项目的部署 (一)运行环境:虚拟机centos7python3 阅读全文

posted @ 2019-04-26 17:11 ExplorerMan 阅读(276) 评论(0) 推荐(0)

运行gunicorn失败:[ERROR] Connection in use: ('0.0.0.0', 8000)
摘要:参考:https://pdf-lib.org/Home/Details/5262 执行命令:gunicorn -w 4 -b 0.0.0.0:8000 wsgi:app,遇到如下错误: [2019-01-10 17:17:13 +0800] [31665] [INFO] Starting gunic 阅读全文

posted @ 2019-04-26 17:11 ExplorerMan 阅读(1590) 评论(0) 推荐(0)

Django项目在linux系统中虚拟环境部署
摘要:1.在linux系统下,安装virtualenv 命令:pip install virtualenv 2.项目部署前的准备 1. Django web project deployment 1.1. 项目准备 准备打包好项目组开发的web项目,通过FTP上传到指定的linux/unix服务器 案例项 阅读全文

posted @ 2019-04-26 15:34 ExplorerMan 阅读(378) 评论(0) 推荐(0)

linux环境下安装nginx步骤(不错)
摘要:开始前,请确认gcc g++开发类库是否装好,默认已经安装。 ububtu平台编译环境可以使用以下指令 centos平台编译环境使用如下指令 安装make: 安装g++: 下面正式开始: 一、选定安装文件目录 可以选择任何目录,本文选择 cd /usr/local/src 1 cd /usr/loc 阅读全文

posted @ 2019-04-26 12:01 ExplorerMan 阅读(748) 评论(0) 推荐(0)

如何在Python中使用ZeroMQ和Docker构建微服务架构
摘要:@Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自携程、PPTV、蚂蚁金服、京东、浙江移动、海尔电器、唯品会、eBay、道富银行、麻袋理财等公司的技术负责人将带来实践经验分享,3月21日之前购票只需238元,欢迎感兴趣的同学抢购。 微服务是什么? 微服务是一种架构风格 阅读全文

posted @ 2019-04-25 18:11 ExplorerMan 阅读(1349) 评论(0) 推荐(0)

Python服务Dokcer化并k8s部署实例
摘要:这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程。 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 python 实现的程序,tornado 作为 web 服务器,mongodb 作为存储,redis 作为缓 阅读全文

posted @ 2019-04-25 18:10 ExplorerMan 阅读(482) 评论(0) 推荐(0)

Kibana简介及下载安装
摘要:现在你已经安装了Kibana,现在你一步步通过本教程快速获取Kibana核心功能的实践经验。学习完本教程,你将: 1.加载案例数据到你安装的Elasticsearch中 2. 定义至少一个索引匹配模式 3.使用Discover功能探索你的数据 4.建立一个visualization图形化地展示你的数 阅读全文

posted @ 2019-04-24 21:22 ExplorerMan 阅读(512) 评论(0) 推荐(0)

Xshell添加ssh隧道SOCKS代理
摘要:Xshell是一个功能强大的终端模拟器,支持SSH,SFTP、TELNET、RLOGIN和SERIAL 下载地址:http://www.netsarang.com/products/xsh_overview.html Xshell创建SOCKS代理必须打开一个可用SSH帐号服务器,并且配置SSH隧道 阅读全文

posted @ 2019-04-24 18:18 ExplorerMan 阅读(6895) 评论(0) 推荐(0)

mongodb分片balance
摘要:查看balance状态 mongos> sh.getBalancerState()true 通过balance锁查看balance活动 如果state是2,表示balance锁已经被获取 mongos> db.locks.find({"_id" : "balancer"}).pretty(){ "_ 阅读全文

posted @ 2019-04-24 16:46 ExplorerMan 阅读(1168) 评论(0) 推荐(0)

mongodb千万级写入怎么优化
摘要:从mysql数据库通过java程序导入单表1300w到mongodb,花了大概50分钟,前1000w条数据中每100w条大概要3分钟,之后的300多w条就差不多每100w条要5到6分钟,之后再从其他的mysql表里面导入数据就会越来越慢,请问可以从那些方面可以优化mongodb的写入操作?这是我记录 阅读全文

posted @ 2019-04-24 13:11 ExplorerMan 阅读(2966) 评论(0) 推荐(0)

mongodb启动很慢
摘要:故障现象mongodb重启后,等了几十分钟还一直没启动完成,单节点副本集,状态一直处于startup 原因分析查看mongod的错误日志,发现一直处于building index,但根据之前的经验,只有在重做secondary节点的时候才会经常处于building index状态,而这个db是pri 阅读全文

posted @ 2019-04-23 19:52 ExplorerMan 阅读(893) 评论(0) 推荐(0)

MongoDB内存配置 --wiredTigerCacheSizeGB
摘要:用top命令查看系统占用内存的情况 top -p $(pidof mongod),发现mongod占用了8G内存的35.6%。在服务器上运行两个mongod进程,很容易导致mongod异常退出。 一度以为是C++程序发生内存泄漏导致了系统异常崩溃,现在可以肯定是由mongod配置的内存占用太高导致的 阅读全文

posted @ 2019-04-23 19:51 ExplorerMan 阅读(1909) 评论(0) 推荐(0)

进程监控工具supervisor 启动Mongodb
摘要:进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具。 Supervisor是一个Python开发的client/server系统,可以管理和监控*nix上面的进程。不过同daemontools一样,它也 阅读全文

posted @ 2019-04-23 18:20 ExplorerMan 阅读(436) 评论(0) 推荐(0)

MongoDB高可用集群搭建(主从、分片、路由、安全验证)
摘要:目录 一、环境准备 1、部署图 2、模块介绍 3、服务器准备 二、环境变量 1、准备三台集群 2、安装解压 3、配置环境变量 三、集群搭建 1、新建配置目录 2、修改配置文件 3、分发其他节点 4、批量启动 5、创建配置服务器副本集 四、集群测试 1、启动路由服务器客户端 2、插入数据 3、验证主从 阅读全文

posted @ 2019-04-22 16:11 ExplorerMan 阅读(572) 评论(0) 推荐(0)

mongodb副本集加分片集群安全认证使用账号密码登录
摘要:mongodb副本集加分片集群搭建网上资料有很多。粘贴一个写的比较好的。副本集加分片搭建 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用账号密码登录。 默认的mongodb是不设置认证的。只要ip和端口正确就能连接,这样是不安全的。mongodb官网上也说,为了能保障mon 阅读全文

posted @ 2019-04-22 15:56 ExplorerMan 阅读(508) 评论(0) 推荐(0)

以我的亲身经历为例,告诉大家写简历和面试的技巧(面向高级开发和架构师)
摘要:之前我也写过不少介绍面试相关的博文,有些文章的点击量还不低,这些面试相关的经验大多都是从我面试别人的过程中提炼出来了。 在18年底到19年3月,陆续面试了几家公司,有成有不成的,最终进了一家比较满意的知名外企。在本文里,我将介绍我这段时间里更新简历和面试的相关经历。可能面试相关的一些方法,大家能从我 阅读全文

posted @ 2019-04-22 14:48 ExplorerMan 阅读(240) 评论(0) 推荐(0)

mongodb集群性能优化
摘要:mongodb集群性能优化 在前面两篇文章,我们介绍了如何去搭建mongodb集群,这篇文章我们将介绍如何去优化mongodb的各项配置,以达到最优的效果。 警告 不做任何的优化,集群搭建完成之后,使用命令连接mongodb终端,一般会遇到以下的警告信息: 如何你是用的是我最新一版集群搭建的脚本,估 阅读全文

posted @ 2019-04-22 14:45 ExplorerMan 阅读(2000) 评论(0) 推荐(0)

mongodb 通过mongodump来备份Sharded Cluste分片集群
摘要:1,mongodb所有组件官方文档地址:https://docs.mongodb.com/manual/reference/command/,所有的基础组件都在里面,包括备份恢复的mongodump、mongorestore,如01.png所示: 2,备份组件mongodump 概要mongodum 阅读全文

posted @ 2019-04-22 12:13 ExplorerMan 阅读(347) 评论(0) 推荐(0)

mongodb备份与还原
摘要:mongodb单机: 备份所有的库: mongodump --host 10.10.7.33:27019 --gzip --out /home/mongodb/0415_bf 备份指定的库: mongodump --host 10.10.10.251:21100 -d dbname --gzip - 阅读全文

posted @ 2019-04-22 12:11 ExplorerMan 阅读(317) 评论(0) 推荐(0)

Mongo 3.6.1版本Sharding集群配置
摘要:Mongo低版本和高版本的sharding集群配置,细节不太一样。目前网上的配置文档大都是针对低版本的。本人在配置3.6.1版本的mongosharding集群的过程中,碰到不少问题,官方文档没有直观的示例,参考起来有点一头雾水。特整理记录下自己的测试环境sharding集群配置过程,供大家参考。 阅读全文

posted @ 2019-04-19 19:11 ExplorerMan 阅读(477) 评论(0) 推荐(0)

从MySQL和MongoDB的对比,看SQL与NoSQL的较量
摘要:张家江,网易乐得高级工程师。 贵金属(注:贵金属为笔者部门业务)的行情系统提供的接口通过Redis获取数据,目前使用Redis最多只存储了大概8000条左右的分钟k的行情数据,考虑到将来可能会有更大数据量的查询需求,需要查询几月甚至几年的行情数据,要求数据库在提供功能的同时又能保证性能和稳定性。Re 阅读全文

posted @ 2019-04-19 17:49 ExplorerMan 阅读(751) 评论(0) 推荐(0)

MongoDB 分片的原理、搭建、应用
摘要:一、概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。基本思想就是将集合切成小块,这些块分散到若干片里,每个片只负责总数据的一部分,最后通过一个均衡器来对各个分片进行均衡(数据迁移)。 阅读全文

posted @ 2019-04-19 17:32 ExplorerMan 阅读(1036) 评论(0) 推荐(0)

MongoDB的真正性能-实战百万用户
摘要:阅读目录 一、第一个问题:Key-Value数据库可以有好多的Key,没错,但对MongoDB来说,大错特错 二、第二个问题:FindOne({_id:xxx})就快么? 三、第三个问题:精细的使用Update 四、2.1.1. 登录时身份认证 五、2.1.2. 使用软件时的界面控制 六、2.1.3 阅读全文

posted @ 2019-04-19 17:17 ExplorerMan 阅读(677) 评论(0) 推荐(0)

PyMongo 常见问题
摘要:PyMongo是线程安全的吗PyMongo是线程安全的,并且为多线程应用提供了内置的连接池 PyMongo是进程安全的吗PyMongo不是进程安全的,如果你在fork()中使用MongoClient实例,必须小心。具体来说,MongoClient实例不能从父进程复制到子进程,父进程和每个子进程必须创 阅读全文

posted @ 2019-04-19 14:08 ExplorerMan 阅读(1241) 评论(0) 推荐(0)

(原创) 使用pymongo 3.6.0连接MongoDB的正确姿势
摘要:0.疑惑 前两天使用pymongo连接MongoDB的时候发现了一个奇怪的现象:我本机MongoDB并没有打开,但是使用pymong.MongoClient()进行连接时,并没有异常,我的服务端也正常跑起来了,直到收到请求,进行数据库查询操作的时候,等了相当长的一段时间之后,服务端才由于MongoD 阅读全文

posted @ 2019-04-19 12:08 ExplorerMan 阅读(6471) 评论(0) 推荐(1)

MongoDB 副本集 pymongo使用
摘要:搭建没有仲裁节点的副本集,推荐使用 2.清空node2的db文件夹 和 log 文件夹 rm -rf /var/lib/mongod/* rm -rf /var/log/mongod/* 3.修改node2和port、replSet vim /etc/mongod.conf replSet = ar 阅读全文

posted @ 2019-04-19 10:15 ExplorerMan 阅读(633) 评论(0) 推荐(0)

生产环境部署MongoDB副本集(带keyfile安全认证以及用户权限)
摘要:本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/8,欢迎留言。 安装软件包:mongodb-linux-x86_64-3.4.1.tgz 安装流程思路 目前最小节点是3个,本文档暂且按照3个节点来配置:A、B、C 1、在集群每个节点上安 阅读全文

posted @ 2019-04-18 15:17 ExplorerMan 阅读(584) 评论(0) 推荐(0)

关闭MongoDB服务的几种方法
摘要:MongoDB 提供几种关闭服务的命令,具体为以下: 一 使用 Crtl+C 关闭 [mongo@redhatB data]$ mongod --dbpath=/database/mongodb/data/ --logpath=/var/applog/mongo_log/mongo.log --lo 阅读全文

posted @ 2019-04-18 11:22 ExplorerMan 阅读(1058) 评论(0) 推荐(0)

mongodb添加验证用户 删除用户
摘要:1、创建用户 db.createUser( { user:<name_string>, #字符串 pwd:<password_string>, #字符串 roles:[{role:<role_name>,db:<db_name>}] #数组+对象 } ) user文档字段介绍: user字段,为新用 阅读全文

posted @ 2019-04-18 11:19 ExplorerMan 阅读(391) 评论(0) 推荐(0)

高性能kv存储之Redis、Redis Cluster、Pika:如何应对4000亿的日访问量?
摘要:一、背景介绍 随着360公司业务发展,业务使用kv存储的需求越来越大。为了应对kv存储需求爆发式的增长和多使用场景的需求,360web平台部致力于打造一个全方位,适用于多场景需求的kv解决方案。目前,我们线上大规模使用的kv存储有Redis,Redis cluster以及Pika。 为什么说是爆发式 阅读全文

posted @ 2019-04-11 17:57 ExplorerMan 阅读(2440) 评论(0) 推荐(0)

Python中msgpack库的使用
摘要:msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言。 安装直接pip即可 pip install msgpack1使用import msgpack v 阅读全文

posted @ 2019-04-10 18:05 ExplorerMan 阅读(1276) 评论(0) 推荐(0)

彻底理解一致性哈希算法(consistent hashing)
摘要:转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了 阅读全文

posted @ 2019-04-10 16:26 ExplorerMan 阅读(255) 评论(0) 推荐(0)

Redis和MySQL的结合方案
摘要:转载:http://m.blog.csdn.net/article/details?id=50586990 方案一: 程序同时写Redis和MySQL读Redis 方案二: 程序写MySQL, 使用Gearman调用MySQL的UDF,完成对Redis的写读Redis 方案三: 程序写MySQL, 阅读全文

posted @ 2019-04-10 16:07 ExplorerMan 阅读(357) 评论(0) 推荐(0)

Redis怎么保持缓存与数据库一致性?
摘要:将不一致分为三种情况: 1. 数据库有数据,缓存没有数据; 2. 数据库有数据,缓存也有数据,数据不相等; 3. 数据库没有数据,缓存有数据。 在讨论这三种情况之前,先说明一下我使用缓存的策略,也是大多数人使用的策略,叫做 Cache Aside Pattern。简而言之,就是 1. 首先尝试从缓存 阅读全文

posted @ 2019-04-10 16:05 ExplorerMan 阅读(2908) 评论(0) 推荐(0)

diskcache
摘要:DiskCache: Disk Backed Cache DiskCache is an Apache2 licensed disk and file backed cache library, written in pure-Python, and compatible with Django. 阅读全文

posted @ 2019-04-10 15:48 ExplorerMan 阅读(673) 评论(0) 推荐(0)

用setuptools_scm来自动控制Python包的版本
摘要:手动管理Python包的版本号一段时间后,寻求自动化的手段,是自然而然的。 手动管理版本 手动管理Python包的版本,需要注意两个方面: 关于第一点,可以参考《PEP 440 -- Version Identification and Dependency Specification》; 关于第二 阅读全文

posted @ 2019-04-09 17:48 ExplorerMan 阅读(2132) 评论(0) 推荐(0)

Redlock(redis分布式锁)原理分析
摘要:Redlock:全名叫做 Redis Distributed Lock;即使用redis实现的分布式锁; 使用场景:多个服务间保证同一时刻同一时间段内同一用户只能有一个请求(防止关键业务出现并发攻击); 官网文档地址如下:https://redis.io/topics/distlock 这个锁的算法 阅读全文

posted @ 2019-04-09 17:48 ExplorerMan 阅读(538) 评论(0) 推荐(0)

Git 中 SSH key 生成步骤
摘要:由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。 第1步:创建SSH Key。在windows下查看[c盘->用户->自己的用户名->.ssh]下是否有id_rsa、id_rsa.pub文件,如果 阅读全文

posted @ 2019-04-04 17:08 ExplorerMan 阅读(173) 评论(0) 推荐(0)

UBUNTU 安装教程
摘要:玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux。 (博主网上查了一下,现在大部分服务器 阅读全文

posted @ 2019-04-03 14:32 ExplorerMan 阅读(439) 评论(0) 推荐(0)

导航