CRIU和Pod在线迁移
对于IaaS平台来说,虚拟机在线迁移是普遍实现的特性。所谓在线迁移,就是把虚拟机从一台物理机透明的移动到另外一台物理机上,(几乎)不会导致服务中断。
在线迁移的价值是,当宿主机操作系统需要升级,或者硬件出现故障需要停机处理时,用户的工作负载不会受到影响。如果在IaaS之上部署Kubernetes,自然可以使用现有的虚拟机在线迁移,间接实现Pod的在线迁移。然而,直接在裸金属之上部署Kubernetes,…
阅读全文基于本地gRPC的Go插件系统
Go语言缺乏好用的动态加载代码的机制,Go程序通常是单个自包含的二进制文件,因此难以实现类似于Java那样的插件系统。
这种插件直接编译到二进制文件中。典型的例子是database/sql包中的数据库驱动。这种插件都是通过空白导入…
阅读全文Galera学习笔记
MariaDB提供了兼容MySQL的数据库解决方案,它本身是MySQL的一个Fork。
MySQL中复制(Replication)是异步的、单向的。其中一个服务器作为Master,其它的作为Slave。所谓主主模式,是两个服务…
阅读全文Octave知识集锦
GNU Octave是一种高级编程语言,主要用在数值计算领域,解决线性、非线性的问题。它和MATLAB有着类似的语法和能力,可以作为MATLAB的开源/免费替代品。
在机器学习领域,可以利用Octave快速的完成算法原型,并最终改用某种工业语言重新实现算…
阅读全文LaTex语法速查
所谓控制序列,是以 \开头,以第一个空格或非字母字符结束的一段序列。控制序列不会输出到文档中,但是能够影响文档的样式或效果。
控制序列可以包含参数,参数放在 {}中。部分控制序列还有被方括号 [] 包括的可选参数。
设置文档类型,例如:
- :使用UTF8编码,文档类设置为ctexart
使用某个包,例如启用中文支持。
必须成对使用,定义一个“环境”,参数名为环境的名字:。
设置文档标题:。
设置作者:。
设置日期:。
将导言区定…
阅读全文Ginkgo学习笔记
Ginkgo /ˈɡɪŋkoʊ / 是Go语言的一个行为驱动开发(BDD, Behavior-Driven Development)风格的测试框架,通常和库Gomega一起使用。Ginkgo在一系列的“Specs”中描述期望的程序行为。
Ginkgo集成…
阅读全文