穷则独善其身,达则兼济天下

工匠之心,技术狂热追求者,开源社区爱好者,一个记录成长的站点。

分类 原创文摘 下的文章

UtahFS: Encrypted File Storage - 加密文件存储

加密是最强大的技术之一,每个人每天都在不知不觉中使用它。传输层加密现在已经无处不在,因为它是创建可信赖的Internet的基本工具,它可以保护通过Internet发送到目标目的地的数据。磁盘加密技术可以无所不在地保护您的数据,因为它可以防止任何窃取您设备的人也能够看到您台式机上的内容或阅读您的电子邮件。这项技术的下一个改进是端到端加密,它是指只有最终用户才能访问其数据的系统,而没有任何中间服...

HTTP/3与HTTP/2的性能比较

这是一篇来自cloudflare公司的博客译文,阐述了一些HTTP3与HTTP2的性能对比。我们在去年Cloudflare的生日周宣布支持HTTP/3,它是HTTP/2的继承者。我们的目标是并且一直是帮助建立一个更好的互联网。在标准方面的合作是其中的一个重要部分,我们很幸运能在这里做到这一点。尽管HTTP/3仍然处于草稿状态,但我们已经看到了很多用户的兴趣。到目前为止,已经有超过113000...

Redis6客户端缓存的相关设计

这篇文章翻译自Redis官方博客,这篇文章阐述了Redis6中将如何支持客户端缓存功能。纽约Redis一天结束了,我于5:30在酒店起床,仍然与意大利时区保持同步,并立即走在曼哈顿的街道上,完全爱上了风景和美好的生活感觉。 但是我在Redis 6发行版中的感觉是,可能是最重要的功能,即新版本的Redis协议(RESP3)的采用曲线将非常缓慢,这是有充分理由的: 明智的人会在没有充分理由的情况...

Redis Client Side Cache - Redis客户端缓存 - RedisConf18

一. 背景描述客户端缓存是一个有意思的话题,它不是空穴来风的技术,在最新的Redis RC版本已经正式开始着手CSC方案的设计,虽然目前版本的CSC还不能真正的商用,但是市面上也有一些其他公司开始着手试探CSC相关方案的设计与实现。目标比较有名的模型是两种:Ben Malec paylocity公司方案Redis6 RC方案这两种方案并不是独立的,他们各有各的优势,paylocity公司的方...

Go的垃圾收集者之旅 [Getting to Go: The Journey of Go's Garbage Collector]

一 . 背景介绍这篇文章是一片演讲笔记,这是Richard L. Hudson于2018.06.18在国际内存管理研讨会(ISMM)上的演讲。理查德·哈德森(Rick)因其在内存管理方面的工作而闻名,其中包括发明了Train,Sapphire和Mississippi Delta算法以及GC堆栈映射,这些算法能够以静态类型的语言(例如Modula-3,Java)进行垃圾收集 ,C#和Go。 R...

Linux内核-内存管理: Out Of Memory Management 源码分析

我们这篇文章中描述了Linux内核对于 Out Of Memory Management 场景下的相关策略,接下来我们将进行Linux 5.0内核的OOM内核源码分析。一. 关键数据结构针对源码部分,我们首先需要阐述oom_kill部分的核心数据结构。文件路径:/linux/include/linux/oom.h1.1 oom_control 结构体首先,我们给出具体的内核定义:/* ...

Linux内核-内存管理: Out Of Memory Management - OOM

一. 引言这篇文章,我们将要讨论的是内存不足(OOM)管理器,OOM检查是否有足够的可用内存来满足系统运行需求,如果没有足够的可用内存则进行进程kill操作。这是Linux内核虚拟内存模块中一个有争议的部分,有人建议在很多情况下删除它。所以在使用OOM的时候,首先需要确认OOM是否在待操作的Linux内核中存在,还需要确定OOM在Linux内核中的开启与关闭选项。二. 检查可用内存(Che...
February 24, 2020

Redis哨兵-官方文档翻译

Sentinel概述Redis Sentinel为Redis提供高可用性。实际上,这意味着使用"哨兵"可以创建一个不需要人工干预就能抵抗某些类型失败的Redis部署。Redis Sentinel还提供其他附属任务,如监控、通知和为客户提供配置。这是宏观上(即全局)Sentinel功能的完整列表:监视:Sentinel会不断检查你的主实例和副本实例是否按预期工作。通知:Sentinel可以通过...

MKV-高性能分布式内存KV-开篇

一. 背景描述目前缓存环境中,使用较多的是Redis缓存,但是Redis单线程机制,在特高并发场景中还是能达到吞吐瓶颈,又由于很多大数据应用场景需要单次GET 1000或者更多的key,所以直接打到Redis服务器上,很容易让Redis主线程出现阻塞情况,产生吞吐大大下降的情况。在这样的情况下,我们就设想架构设计一个分布式内存的缓存系统(MKV),主要设计目标包括一下:多线程机制保障多核使用...