无分类 Redis5源码学习20190417-压缩列表ziplist 乍一看标题,我们可能还不知道ziplist是何许人也。但是如果我说list、hash、zset这几种数据结构,大家就很熟悉了。而ziplist就是这几种数据结构的底层实现之一:
无分类 FRR学习第4天路由聚合 今天学习使用frr搭建一个bgp网络环境,练习如下功能: 两个frr路由器建立邻居关系 进行路由聚合 实现两个网络通过动态路由互通 实验拓扑 配置主机 主机1 {代码…} 主机2 {代码…} 聚合携带summary-only选项,该…
无分类 数据结构算法学习优先队列二叉堆 二叉堆抽象概念是一个完全填满的二叉树(底层可能有例外),由于父子关系很有规律(任意位置i上的元素,父亲在abs(i/2),左儿子在2i上,有儿子在2i+1上,用左移右移操作实现乘除),可以用数组实现而不需要指针(链表)。
linux Python之父发文吐槽现有解析器考虑将它替换掉 花下猫语: Guido van Rossum 是 Python 的创造者,虽然他现在放弃了“终身仁慈独裁者”的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目。近日,他开通了 Medium 账号,并发表了第一篇文章,…
无分类 sonic消息传递机制与架构2 KEY_SET消息系统:该机制通过一个set集合传递key,通过publish命令通知有新的key产生。消费者通过key组合成一个hash表的key,用于获取真实的消息,set不保证顺序。样例如下所示:
无分类 sonic消息传递机制与架构3 本章节主要分析sonic使用redis的键空间消息机制实现的消息传递框架,该机制区别于发布-订阅机制在于发布者不需要进行pubulish通知,只要往数据库中写入指定的键,redis就会通知监听了该键空间的客户端。该机制目…
linux sonic-orch调度系统之orchagent sonic核心守护线程orchagent以orch为单位进行资源管理,一个orch包含了一组相似的资源;orchagent调度系统以Executor为调度单位,调度实体有Consumer,ExecutableTimer等,本文分析一下sonic调度细节。
无分类 sonic消息传递机制与架构1 各个第三组件有各自的配置文件格式和消息格式,如何让这些组件互通信息了。sonic采用redis数据库作为消息传递平台,通过纯字符消息方式屏蔽各个组件的插件,通过胶水代码将其粘起来。
linux sonic-orch调度系统之orch sonic orchagent线程的调度最小单位是Consumer。Consumer是在epoll事件Selectable的基础上的进一步封装,每一次发生epoll事件会触发orchagent进行一次调度。orch是资源的集合,一个orch可以包含多个Consumer,…