
技术分享
DILIGENT203
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
缓存淘汰算法与 python 中 lru_cache 装饰器的实现
缓存淘汰算法与 python 中 lru_cache 装饰器的实现1. 引言2. 缓存淘汰算法2.1. 先进先出 -- FIFO2.2. 最不经常使用算法 -- LFU2.3. 最近最少使用算法 -- LRU2.4. 最近最常使用算法 -- MRU3. LRU 的实现 -- python&...原创 2019-11-26 10:15:16 · 2509 阅读 · 8 评论 -
通过 pyinstaller 将 python 脚本打包成可执行程序
1. 引言很多时候,我们需要在 windows 环境编写和执行 python 脚本,但是去搭建一整套 python 运行环境看上去就过于繁琐了,即便是拥有 python 运行环境,脚本的执行也并不方便。如果能把 python 脚本封装在一个可执行的 exe 文件中,通过双击运...原创 2019-02-27 10:27:51 · 445 阅读 · 0 评论 -
SQL 某状态耗时过多的优化
1. 引言此前的文章中,我们介绍了 mysql 最常用的存储引擎 – innodb 的性能优化。主要围绕参数、索引设置等方面进行。Mysql Innodb 性能优化事实上,在实际使用中,最为常见的性能问题大多是不合理的使用方式,即 sql 语句的问题引起的,因此与参数、索引优化相比,直接优化和修改&n...原创 2019-02-18 16:27:06 · 5858 阅读 · 0 评论 -
netfilter/iptables 原理
1. 引言linux 3.5 版本内核开始集成一个 IP 信息包过滤系统 – iptables。利用 iptables,我们可以很有效的控制 IP 信息包的过滤条件和防火墙配置。他可以配置有状态的防火墙规则,通过发送或接收信息包所建立的连接的状态来对网络信息包进行过滤。本文我们就从原理出发,详细介绍一...原创 2019-01-23 18:31:54 · 3113 阅读 · 0 评论 -
通过 zookeeper、redis 实现分布式服务治理
1. 引言微服务已经成为当下最为流行的分布式架构了。通过将系统拆分成若干个服务,将业务进行横向、纵向切分,而诞生出各个高度内聚、轻度耦合的微服务,组成微服务架构。微服务架构在其可维护性、责任分工上都有着很大的优势,更加有利于系统的组建、维护、问题的快速响应和解决。但是,微服务架构也存在着难以治理的缺点,由于服务数量众多,每个服务又有多台服务器提供服务,如何实时监控每台服务器的运行健康情况,...原创 2019-01-01 20:28:11 · 5707 阅读 · 0 评论 -
如何防止 Elasticsearch 脑裂问题
1. 引言此前,在 rabbitmq 系列文章中,我们介绍过脑裂问题。RabbitMQ 与脑裂问题所谓的脑裂问题,就是在多机热备的高可用 HA 系统中,当两个节点心跳突然断开,就分裂为了两个独立的个体,由于互相失去联系,都认为对方出现了故障,因此都会去争抢对方的资源,争抢启动,由此就会发生严重的后果。举个形象的例子,A 和&nbs...原创 2019-01-01 14:55:29 · 1920 阅读 · 0 评论 -
CPU load 高占用率低问题的彻底排查
1. 引言突然观察到服务器 load 过高,可是 CPU 占用率很低。这也算是一个常见问题了。那么,如何排查和解决这个问题呢?2. top 查看 cpu wait通过 top 命令,可以看到 CPU 的 wait 很高,可以参考:top 命令详解原创 2018-12-29 14:37:19 · 5601 阅读 · 0 评论 -
通过 Nexus3 搭建 pypi 私服
1. 引言上一篇日志中,我们详细介绍了如何通过 nexus3 搭建一个 maven 私服。详解通过 Nexus3.x 搭建 Maven 私服本文我们来介绍如何通过 nexus3 来搭建一个 python 的 pypi 私服。2. nexus&n原创 2018-12-23 09:31:16 · 2861 阅读 · 0 评论 -
Redis 的 MOVED 转向与 ASK 转向
1. 引言上一篇文章中,我们介绍了 redis 集群的搭建。redis 集群详解及搭建过程其中我们遇到了报错:这就是所谓的“MOVED转向”,那么什么是 MOVED 转向呢?本篇日志我们就来介绍一下。2. MOVED 转向当我们使用操作 redis 单节点的 client 来操作集群时...原创 2018-12-03 18:36:49 · 4360 阅读 · 0 评论 -
基于 Twemproxy 与 Codis 的 redis 集群方案比较
1. 引言此前的文章中,我们介绍了三种 redis 集群和搭建方法。redis 集群详解及搭建过程事实上,第三种 redis 原生的 redis-cluster 同时具备了前两种的特性,既能够实现主备也能够实现故障时的自动选举和切换,因此通常在生产环境中会直接使用 redis-cluster 的方案。...原创 2018-12-04 15:03:37 · 2220 阅读 · 0 评论 -
redis 集群详解及搭建过程
1. 引言从 3.0 版本开始,redis 具备了集群功能,实现了分布式、容错、去中心化等特性,在生产环境中对于保证数据一致性和安全性、提高系统响应能力都有着很必要的意义。本文我们就来介绍 redis 集群的三种搭建模式和搭建方法。1.1. redis 集群的特性redis 集群的目标是线性可扩展性和保证最终一致性,因此...原创 2018-11-29 15:08:38 · 769 阅读 · 0 评论 -
linux 挂载硬盘
1. 引言linux 环境下挂载硬盘、U盘等设备是 linux 使用者常常需要做的一件事。本文详细介绍一下完整的操作步骤及每一步的意义。2. 安装硬盘首先第一步是安装硬盘到物理机上,如果是 SATA 口安装,那么是需要重启系统的。如果是 USB 等支持热插拔的接口安装,则不需要重启。3. ...原创 2018-11-16 12:16:16 · 379 阅读 · 0 评论 -
pymysql 解决 sql 注入问题
1. SQL 注入SQL 注入是非常常见的一种网络攻击方式,主要是通过参数来让 mysql 执行 sql 语句时进行预期之外的操作。例如,下面这段代码通过获取用户信息来校验用户权限:import pymysqlsql = 'SELECT count(*) as count FROM user WHERE id = ' ...原创 2018-11-08 13:11:03 · 1430 阅读 · 0 评论 -
记一次 MongoDB 占用 CPU 过高问题的排查
1. 引言今天查看监控无意间突然发现自己的服务器上,CPU 占用率飙升到 100%,load 升到 10 以上,登录的响应已经达到半分钟。马上运行 top,发现主要是 mongodb 占用了大量的 CPU,这是为什么呢?又该如何解决呢?2. 分析正在执行的请求通过运行命令:db...原创 2018-11-06 12:14:07 · 11852 阅读 · 2 评论