通过WebAssembly扩展Envoy
WebAssembly简介
WebAssembly(简称Wasm)是一种供基于栈的虚拟机使用的二进制指令格式。它作为C/C++/Rust这样的高级语言的编译目标,部署在现代浏览器或者服务器端应用程序中运行。
Wasm的优势:
- 性能:基于通用硬件能力实现Native运行速度
- 安…
4 years ago
0
1
Casbin学习笔记
简介
Casbin是一个权限控制的开发库,它的特性包括:
- 支持多种编程语言,包括Go、Java、Node.js、PHP、Python等
- 支持ACL、RBAC、ABAC等多种访问控制模型
- 支持以典型的 {subject, object, action}形式,或者自定义的形式来定义策略,allow/deny授权均支持
- 支持处理访问控制模型,及其策略的存取(和存储后端交互)
- 支持管理角色-用…
4 years ago
0
2
CRIU和Pod在线迁移
引言
对于IaaS平台来说,虚拟机在线迁移是普遍实现的特性。所谓在线迁移,就是把虚拟机从一台物理机透明的移动到另外一台物理机上,(几乎)不会导致服务中断。
在线迁移的价值是,当宿主机操作系统需要升级,或者硬件出现故障需要停机处理时,用户的工作负载不会受到影响。如果在IaaS之上部署Kubernetes,自然可以使用现有的虚拟机在线迁移,间接实现Pod的在线迁移。然而,直接在裸金属之上部署Kubernetes,…
阅读全文
4 years ago
0
基于本地gRPC的Go插件系统
Go插件化
Go语言缺乏好用的动态加载代码的机制,Go程序通常是单个自包含的二进制文件,因此难以实现类似于Java那样的插件系统。
两种方式
编译期插件
这种插件直接编译到二进制文件中。典型的例子是database/sql包中的数据库驱动。这种插件都是通过空白导入…
阅读全文
4 years ago
2
4
Galera学习笔记
MariaDB对比MySQL
MariaDB提供了兼容MySQL的数据库解决方案,它本身是MySQL的一个Fork。
复制
MySQL中复制(Replication)是异步的、单向的。其中一个服务器作为Master,其它的作为Slave。所谓主主模式,是两个服务…
阅读全文
4 years ago
0
Octave知识集锦
简介
GNU Octave是一种高级编程语言,主要用在数值计算领域,解决线性、非线性的问题。它和MATLAB有着类似的语法和能力,可以作为MATLAB的开源/免费替代品。
在机器学习领域,可以利用Octave快速的完成算法原型,并最终改用某种工业语言重新实现算…
阅读全文
4 years ago
0