1. 背景需求 需求是内网穿透,想把本地局域网和国外的 VPS 主机组成局域网,连接 OpenVPN 后,VPS 主机可以直接访问本地局域网,如 192.168.31.1/2
Mac 下 Finder 替代品 QSpace Pro
作为一个长期使用 Mac 的用户,我一直在寻找一款能够比 Finder 做得更好的文件管理工具。最近我发现了 Qspace Pro,它不仅具备 Finder 的基本功能,而且还加入了许多实用
Linux中Zero-Copy的实现
1. 读写系统调用 理解什么是zero-copy,首先从简单的例子中,更容易理解。 read(file, tmp_buf, len); write(socket, tmp_buf, len); 上面的例子,实现从文件中读取数据,然后将读取的数据写
电信宽带电视IPTV公网内网多设备播放
一般IPTV只能实现单个设备播放,一个宽带也只能接入一个IPTV,如果加中有多个设备需要同时播放电视直播,就无法实现了。 当然可以通过在网上找
德业除湿机接入HomeAssistant
由于德业除湿机比较小众,homeassistant官方和社区也没有现成的集成可用,要接入homeassistant只能自己来研究一下交互协议
记一次线上Linux网卡丢包问题排查
1. 问题现象 线上环境业务反馈业务访问服务存在大量超时,通过查看监控,发现集群内3个envoy进程pod网卡tx队列丢包严重。 看到对应网卡pps
Linux网卡多队列实现
rps Receive Package Steering,是用来在软件层面实现网卡报文在多个cpu处理的负载均衡。 对于多队列网卡,硬件能够支持网卡中断的处理cpu核,但是往往
记一次Redis超时抖动问题排查
1. 问题现象 业务客户端请求Redis集群客户端看经常出现30-70ms的超时抖动,而执行的命令都是O(1)的复杂度,预期正常返回在0.1ms内
再看Redis数据过期
在Redis中,数据的过期可分为两种,一种是主动过期淘汰,一种是lazy方式淘汰。 主动过期淘汰就是在Redis中定时任务主动对数据进行采样,
数据仓库Snowflake论文
数据仓库和数据库的区别就是: 数据库:OLTP,数据操作会包含读写,并且要求时延较低,操作结果会是决定上层操作成功与否的关键。数据量一般有限。
etcd raft lib使用示例分析
此前使用hashicorp raft库简单实现了一个redis协议的kv存储Leto,介绍文章。 当时选择hashicorp raft库,包装好,
hexo迁移hugo并配置ci自动部署github pages
最近一直收到github pages的通知,由hexo生成的静态站存在安全风险,要求升级,升级hexo会升级一大堆依赖node_modules
一个glibc内存分配场景分析
最近看到了2014年关于twemproxy中的issue中有人提到采用pipeline方式大量请求会导致twemproxy占用大量内存的讨论
imgur图床迁移github图床
因为imgur被dns劫持,所以blog图片都裂了,没有好的办法,只能找其他的替代图床。之前也一直不忍心使用github在用作图床,毕竟gi
DNS劫持和污染原理
之前一直用的imgur图床最近几天突然打不开了,浏览器打开提示证书不对,证书是facebook的证书,看来是dns把域名解析到faceboo
IP MTU和TCP MSS
使用群晖的vmm虚拟lede软路由几个月,在nas下载流量较大的时候会出现lede掉线,多拨不稳定掉线,但是又想使用lede的插件中心,方便
LRU算法和LRU变种
1. LRU 实现最简单的lru实现,其中保存的是最近一段时间访问的数据,当一个新数据被访问,数据会被加入队列头,如果队列超过长度限制,就在尾部淘汰;
群晖nas软路由实现全站https
家用宽带从移动转向电信,体验果然不一样了,从此可以告别移动大内网,告别了frp内网穿透,有了公网ip。原来一直在用的http突然完全暴露在公
RocksDB参数调优
RocksDB对比LevelDB暴露了很多参数来适应更多的应用场景,带来的好处就是可以通过tuning使系统性能达到最大,当然,如果tuni
玩转Home Assistant - 集成小米空气净化器、米家智能家居、broadlink设备、dueros、google assistant等
Home Assistant是一个开源智能自动化平台,python语言编写,支持多种平台,官方支持树莓派、普通linux主机和docker方式,支持