Python 虚拟机

我们常说 Python 一是门解释型语言,只需要敲下 python code.py 就可以运行编写的代码,而无需使用类似于 javac 或者 gcc 进行编译。那么,Python 解释器是真的一行一行读取 Python 源代码而后执行吗? 实际上,Python 在执行程序时和 Java、C# 一样,都是先将源码进行编译生成字节码,然后由虚拟机进行执行,只不过 Python 解释器把这两步合二为一了而已。 »

VXLAN—构建Overlay容器网络

由于 VLAN 实现中的 VLAN ID 仅有12位,只能划分4096个虚拟局域网网段,对于云计算等领域而言,其用户远远不止4096个。并且,VLAN 依赖于交换机等物理设备的实现,一旦升级物理设备,集群网络可能需要重新配置。因此,基于上述的限制,VMware、Cisco 等大型网络企业推出了 VXLAN 解决方案。 »

浅析gRPC

gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。(这Ctrl-C/V也是没有下限了…. »

揭开Python元类(metaclass)神秘的面纱

Python语言的metaclass特性一直是初学者的”噩梦”,当初博主在学习元类时也是一头雾水,但是一旦真正的理解了什么是”动态语言”之后,元类就不再神秘与难以理解了。Python这门动态语言最大的特性就是不需要一个类的字节码就能够在运行时创建出一个类,这是理解元类最为关键的信息。 »

TCP有限状态机

相较于Linux进程状态的变迁,TCP的状态变迁则会复杂许多,当然这与TCP本身的实现有关。当线上的Web服务或者是基于TCP连接的服务出现了时断时续的网络状况时,往往需要通过tcpdump以及TCP连接的状态进行问题定位。同时,这一复杂的有限状态机设计也能够为业务的设计提供指导性的帮助。 »

InnoDB独特的LRU

由于硬盘和内存的造价差异,一台主机实例的硬盘容量通常会远超于内存容量。对于数据库等应用而言,为了保证更快的查询效率,通常会将使用过的数据放在内存中进行加速读取。LRU算法经常用于数据的置换,但InnoDB的LRU却更加独特。 »

MySQL主从复制

MySQL的异步复制算的上是一种典型的单领导者复制模式,就复制本身而已并无特殊之处。但是复制的细节,例如binlog的格式选取,从节点如何在保证数据准确的情况下进行并行复制,MySQL的实现方案总是能令人眼前一亮。 »

Linux主机通过Windows虚拟机转发Easyconnect内网请求

世界上有个恶心的公司叫Sangfor,开发出了恶心的工具EasyConnect,本来这东西都是给在校的学生用的,好不好用都无所谓。但是很多公司也开始使用这个来访问内网,并且还不支持Linux(反正到目前Ubuntu下的64bit版本连接就没成功过),这就很令人讨厌了。回想起Ubuntu下使用Wine安装微信的种种难受,决定还是使用Windows虚拟机开启EasyConnect,并把部分的Linux流量打进虚拟机。 »