Skip to content

分类:程序猿的东西

理解redis SCAN

应用场景 一个使用场景是要找到特定格式的key做处理,删除或更新。 虽然另一个命令KEYS可以实现这个功能,但是跟据官方文档中的说明,如果数据库中存在大量的key那么这个命令会阻塞服务数秒甚至更久的时间,对于大多数业务来说都是不可接受的。 如果用SQL表示KEYS命令类似下面语句…

OSX下xargs分隔符问题

许多文档指定xargs使用-d表示分隔符,但是输入下面命令会报错: 原因是OSX下面的xargs不支持这个参数,他只默认支持空格和tab,如果你的参数中不幸存在空格就会导致xargs参数分隔错误。比如下面这个场景: 这个问题可以用以下方式解决,虽然空格非常常见但是空字符不常见,所…

函数计算实现水印平铺

需求 接上文又拍云迁移阿里云OSS的实践所说,阿里云OSS这套图片处理不没有平铺水印功能,只好自己动手丰衣足食了。 方案 基于函数计算有两种实现方案,第一种是主动计算的方式,利用OSS触发器可以实现每上传一张新图马上生成他的含水印版并持久化存储在OSS。第二种是被动计算,利用HT…

又拍云迁移阿里云OSS的实践

背景 由于历史原因一直使用又拍云做图片存储和CDN,但是长久存在两个问题: 一是又拍云的服务不够稳定,不时会有服务宕机等令人肉疼的问题。这个问题虽然可以理解,但是不可容忍。于是一直有个念头要有一套备份服务,一旦其中一个故障,马上切换到另一个。 二是由于我们使用的是阿里云服务器,图…

阿里云函数计算入坑指南之HTTP触发器

函数计算简介 函数计算是最新一代serverless架构产品,结合了函数式编程思想和容器技术。一方面为应用开发和发布提供了许多便捷,另一个方面,因为是serverless,且由底层技术实现了弹性扩容,尤其降低了运维成本,提升了服务稳定性。目前许多云服务商都开始着力部署,以我常用的…

elasticsearch多级聚合

前言 由于更熟悉SQL,而ES的聚合语句想必也更复杂,所以通常的聚合查询都在数据库完成。近日,因为一些查询在数据库的字段不全,因此尝试用ES计算聚合。发现ES的聚合查询复杂有复杂的理由,可以实现更丰富的聚合功能。 示例 下面先看一条示例,不用细看,下面有分解动作教学。 这个语句在…

利用CDN代理规避网络线路问题

事发原因是部分广东移动用户无法访问API,因为我们的API部署在单节点的七层网络负载均衡后面,所以一旦用户到负载均衡的线路中断就直接挂掉了。相当于一个单点故障。 移动客服大概从来都没有遇到这种问题,打电话过去竟然一时不知该转接哪个部门。实在是一塌糊涂。 但是咱们也不能干等着,一个…

从根本修复:upstream sent too big header while reading response header from upstream

报错背景 某个用户的个人主页发生了报错,其他用户都没有问题。因为是同一份代码,所以问题应该在数据上。 初步尝试 搜索了一轮都是说修改nginx的buffer配置,这不难理解,就是让nginx允许接收足够big的header。这是一个急则治标的方法,但是我尝试了之后并不能解决。所以…

scrapy爬虫教程摘要(一)——基本流程

简介 scrapy是一个基于python的爬虫框架,提供了一套比较完整的爬虫解决方案,包括模拟cookie,referer,ajax等,并且支持代理,失败重试等爬虫攻防操作。可以让你专注于数据本身而不需要处理太多底层的东西。 今天整理一部分操作要点在这里以供速查和快速入门。 项目…

jumpserver堡垒机搭建和授权

堡垒机简述 堡垒机是一个服务器授权和管理的不错的方案,虽然有种种缺点,但是对小团队来说依然是不错的方案。 引入堡垒机的优点之一是方便管理和授权,用堡垒机的身份验证即可管理其他机器而不需要我去每台机上做授权,登录每台机的授权和限制也是统一管理的。另外一个是经过堡垒机发送的命令都会被…

Linux扩展权限控制ACL

Linux基本都权限控制一定不陌生,每个文件/文件夹基于 user group other 三种用户身份分别具有读、写、执行的权限,我们可以用chmod命令来修改。但是这种设置方式比较比较简单暴力。比如我某个密码文件我需要能被执行程序读取但不希望被同一主机的其他用户读取。如果单通…

chmod的第四位数

前几天看到一个命令是chmod 2770 /srv/projecta,十分不解。我们知道chmod三位数分别表示用户,群组,其他用户的读写执行权限。如今出来第四位就不能理解了。 上例多出来的第四位是“2”,它也是一个八进制数,也代表了一种权限。但不同的是他不表示“读、写、执行”,…

Linux用户与组的基本管理

用户和组的基本概念 默认情况下一个用户会拥有一个同名的私有组,比如我们用ls -l 时候会经常看到某个文件所属的用户和组是相同的就是这个原因。一个用户可以加入多个组,但是同一时间只有一个是有效组,有效组的概念可以在创建文件的时候体现出,当前用户创建一个文件的所属组就是当前的有效组…