04 2020 档案

摘要:redis对象作为redis存储的基本单元,对应redisDb "dict" 中的dictEntry key和dictEntry val。 更全面的 "图谱" 源码解析参见: "object.c" 阅读全文
posted @ 2020-04-27 17:14 charlieroro 阅读(481) 评论(0) 推荐(0) 编辑
摘要:edis源码的dict.c主要实现了基于hash表的操作,如增删改查,对哈希表大小的扩容和缩容,以及对哈希表的rehash和增量rehash等。在源码的dictScan函数中,非常巧妙精美地实现了对哈希表的迭代查找,非常建议去看一下。 源码解析地址: "dict.c" "dict.h" 阅读全文
posted @ 2020-04-23 22:21 charlieroro 阅读(348) 评论(0) 推荐(0) 编辑
摘要:使用k3s测试Cilium,安装步骤可以参见官方文档 Cilium安装使用 docker安装 使用如下命令安装最新版本的docker yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 yum-config-manager 阅读全文
posted @ 2020-04-19 20:17 charlieroro 阅读(4764) 评论(0) 推荐(1) 编辑
摘要:Cilium架构 译自:http://docs.cilium.io/en/stable/architecture/ 本文档描述了Cilium的架构。它通过记录BPF数据路径(datapath)的钩子来实现Cilium数据路径,那么Cilium数据路径是如何与容器编排层继承,以及如何在各层(如BPF数 阅读全文
posted @ 2020-04-19 00:20 charlieroro 阅读(3772) 评论(0) 推荐(1) 编辑
摘要:基于eBPF的微服务网络安全 翻译自:Network security for microservices with eBPF 一些开源的kubernetes工具已经开始使用eBPF,这些工具大多数与网络,监控和安全相关。 本文不会涵盖eBPF的方方面面,只作为一个入门指南,包括Linux内核的BP 阅读全文
posted @ 2020-04-18 11:40 charlieroro 阅读(2720) 评论(0) 推荐(0) 编辑
摘要:redis使用sds(simple dynamic string)实现了字符串的存储。sds实际上就是TLV格式的数据结构。其数据结构主要分为如下5种,主要分为首部和数据部分,首部给出了type和len信息,数据部分用于存储字符串数据。不同的首部可以表示不同长度的字符串数据,如SDS_TYPE_8最 阅读全文
posted @ 2020-04-16 23:12 charlieroro 阅读(648) 评论(0) 推荐(0) 编辑
摘要:redis的事件分为:文件事件和时间事件。文件事件是基于I/O的事务处理,时间事件则是基于时间点的事务处理。redis事件支持的多路复用包含四个实现:ae_epoll.c,ae_evport.c,ae_kqueue.c,ae_select.c 基本处理流程如下,源代码解析参见: ae.c和ae.h以 阅读全文
posted @ 2020-04-15 16:56 charlieroro 阅读(361) 评论(0) 推荐(0) 编辑
摘要:承接 "上文" ,块存储的CSI要比对象存储复杂一些,但总的处理逻辑还是一致的。下面以华为fusionstorage的 "CSI" 为例进行介绍,该插件支持了多个后端存储,如fusionstorage和oceanstor。下面是CSI插件与后端存储(fusionstorage)交互用到的配置文件。其 阅读全文
posted @ 2020-04-07 13:01 charlieroro 阅读(1339) 评论(0) 推荐(0) 编辑