技术,生活,随看 \随转
Golang 编译器代码浅析
本书主要目的是让读者在源码层面熟悉 Go 编译器的实现,因此会以代码讲解为主。但编译器的实现涉及到非常多的细节处理,本文会尽量避免大段的贴代码来对其进行分析(实际上也是不可行的),而是建议读者将文章当着一个参考,自己动手去源码中进行探索。因此每个主题的文章基本会按照如下结构进行组织:
1. 该模块的简介,需要涉及到的理论知识复习。例如词法、语法分析中涉及到很多形式语言与自动机的知识,文章都会先尽可能少地温习一下相关知识
2. 核心数据结构介绍,意在搭建该模块的骨架
3. 核心逻辑介绍,意在了解该模块实现的主体算法思路
4. 特殊案例分析,详细分析典型案例的处理流程
另外作者还开了两个坑《Linux核心概念详解》和《极简计算机结构介绍》,也写了一些内容不过还不太完整。
文档
本书主要目的是让读者在源码层面熟悉 Go 编译器的实现,因此会以代码讲解为主。但编译器的实现涉及到非常多的细节处理,本文会尽量避免大段的贴代码来对其进行分析(实际上也是不可行的),而是建议读者将文章当着一个参考,自己动手去源码中进行探索。因此每个主题的文章基本会按照如下结构进行组织:
1. 该模块的简介,需要涉及到的理论知识复习。例如词法、语法分析中涉及到很多形式语言与自动机的知识,文章都会先尽可能少地温习一下相关知识
2. 核心数据结构介绍,意在搭建该模块的骨架
3. 核心逻辑介绍,意在了解该模块实现的主体算法思路
4. 特殊案例分析,详细分析典型案例的处理流程
另外作者还开了两个坑《Linux核心概念详解》和《极简计算机结构介绍》,也写了一些内容不过还不太完整。
文档
etcd在kubernetes集群中,作为一个核心的存储组件,具有举足轻重的地位。
本书分为三个部分: 理论介绍、源码实战、应用运维。
第一章介绍分布式系统的一些核心概念,包括分布式系统CAP理论,分布式系统网络通信,分布式存储一致性等一系列的概念。 当然,为了避免文字枯燥的表达,作者将尽量采用图表的方式解释。
第二章主要描述etcd本身的架构。 在解析etcd架构的时候,我会结合后续源码,从整体架构到其中每一个组件的核心功能,进行更为深入,细致的拆分。 目的是争取能将整个架构拆解到大家都能实现的地步。 在前两章的基础上。
第三章讲解etcd的部署,通过单机以及多机两种部署方式,实际感受下etcd的魅力所在,也为后面的章节做好铺垫。
第四章可以说是最重心的一章。 因为这一章,我们直面go语言,直面etcd源码,通过etcd提供的代码,来利用raft算法实现一个简单版本的分布式kv存储数据库。然后在这个基础上,进一步对etcd进行拆解,直达etcd内部,包括raft协议的实现,mvcc多版本并发控制, 内存B-tree索引,boltdb数据持久化,watch机制,分布式事务等一系列的核心概念。
在整个过程中,作者通过将各个模块拆分的方式,讲解每一个模块的用法以及实现, 包括写一个实用的程序代码,以及为各个模块写单元测试。 理解了源码,相信对于etcd的应用案例也就了然于胸了。
第五章重点介绍使用案例,包括分布式队列,分布式锁,分布式kv,配置中心等。
第六章简单讲解下日常的运维与监控问题
最后一章作为总结。
etcd源码剖析 | #电子书
本书分为三个部分: 理论介绍、源码实战、应用运维。
第一章介绍分布式系统的一些核心概念,包括分布式系统CAP理论,分布式系统网络通信,分布式存储一致性等一系列的概念。 当然,为了避免文字枯燥的表达,作者将尽量采用图表的方式解释。
第二章主要描述etcd本身的架构。 在解析etcd架构的时候,我会结合后续源码,从整体架构到其中每一个组件的核心功能,进行更为深入,细致的拆分。 目的是争取能将整个架构拆解到大家都能实现的地步。 在前两章的基础上。
第三章讲解etcd的部署,通过单机以及多机两种部署方式,实际感受下etcd的魅力所在,也为后面的章节做好铺垫。
第四章可以说是最重心的一章。 因为这一章,我们直面go语言,直面etcd源码,通过etcd提供的代码,来利用raft算法实现一个简单版本的分布式kv存储数据库。然后在这个基础上,进一步对etcd进行拆解,直达etcd内部,包括raft协议的实现,mvcc多版本并发控制, 内存B-tree索引,boltdb数据持久化,watch机制,分布式事务等一系列的核心概念。
在整个过程中,作者通过将各个模块拆分的方式,讲解每一个模块的用法以及实现, 包括写一个实用的程序代码,以及为各个模块写单元测试。 理解了源码,相信对于etcd的应用案例也就了然于胸了。
第五章重点介绍使用案例,包括分布式队列,分布式锁,分布式kv,配置中心等。
第六章简单讲解下日常的运维与监控问题
最后一章作为总结。
etcd源码剖析 | #电子书
本书共分13章,对Linux 内核2.4版的源代码进行了较全面的分析,既包括对中断机制、进程调度、内存管理、进程间通信、虚拟文件系统、设备驱动程序及网络子系统的分析,也包括对Linux 整体结构的把握、Linux的启动过程的分析及Linux独具特色的模块机制的分析与应用等。其中重点剖析了Linux内核中最基础的部分:进程管理、内存管理及文件管理。
本书对于那些准备进入Linux 操作系统内部,阅读Linux 内核源代码以及在内核级进行程序开发的读者具有非常高的参考价值。同时,操作系统实现者、系统程序员、Linux应用开发人员、嵌入式系统开发人员、系统管理员、在校的大学生和研究生及对Linux感兴趣的用户均可在阅读本书中受益。
作者陈莉君老师二十多年来专注Linux内核研究,业余时间主办的Linux内核之旅网站,为Linux爱好者默默提供着无私的帮助,值得一提的是,把自己2002年撰写的《深入分析Linux内核源代码》一书,因为绝版而全文公布于网络,这为嵌入式开发者和Linux内核爱好者提供了触手可得的资料。
传送门 | #电子书 #Linux