K8s010 | Stateful应用部署

K8s部署业务应用程序非常方便,但是一些有状态应用比如数据库、消息队列等应用就相对复杂的多,这些应用普遍对数据处理性能、数据一致性要求很高,这就是K8s原生存储要解决的问题。 第一个StatefulSet示例 apiVersion: apps/v1 kind: StatefulSet metadata: name: ………

阅读全文

算法003 | 国家商用密码简介

国密算法简介 国密算法是我国自主研发的密码算法体系,是为保护我国信息安全而开发的一套密码学算法,其标准由国家密码管理局及其密码管理标准委员会制定。 国密算法包括对称密码算法、非对称密码算法和杂凑算法,即SM1、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)等。其中,SM1是一种分组密码算法,用于加密和解密数据,该算法未公 ………

阅读全文

K8s009 | 网络方案

阿里云 K8S 集群网络目前有两种方案:一种是 flannel 方案;另外一种是基于 calico 和弹性网卡 eni 的 terway 方案。Terway 和 flannel 类似,不同的地方在于 terway 支持 Pod 弹性网卡,以及 NetworkPolicy 功能。 Service 在 Kubernetes (k8s) ………

阅读全文

网络编程003 | 负载均衡技术

参考: 一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等: https://zhuanlan.zhihu.com/p/64207926 构建弹性网络之分布式负载均衡技术: https://cloud.tencent.com/developer/article/2437448 ………

阅读全文

Go杂谈 | 高效数据编解码

序列化和反序列化贯穿于微服务系统之间,如何简单高效的处理数据变的异常重要。常见的数据编解码方案中Protobuf、Avro等算是其中的佼佼者。出色的编解码方案都有哪些特点呢?以及还有没有性能更优或者使用更简单的方法呢?我们来探究一下。 Varint & Zigzag Varint varint用每个字节的第1位来标识本字节是否是一 ………

阅读全文

算法002 | 常见排序方法

全排列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 func fullList(list []int, pos int) { size := len(list) if pos == size { count++ fmt.Printf("%d %v\n", count, list) return ………

阅读全文

MySQL003 | 数据传输协议

一、基本数据类型 MySQL协议定义了2大类,7小类的数据类型,它们详细介绍如下: 1.1 数字类型 1.1.1 定长数字类型(FixLenInt) MySQL报文中整型值分别有1、2、3、4、6、8字节长度。存储使用小端存储的方式,比如 2字节 02 00,表示数字 2 而不是 512。 1.1.2 变长数字类型(LenEncInt) ………

阅读全文

Go随笔 | 汇编指令

Go的编译器先将源代码编译成Plan9风格的汇编指令,之后再通过汇编器和链接器生成不同平台的可执行程序。再深入研究源代码执行表现时,经常需要观察汇编指令,了解基本的Plan9汇编语法不可或缺。 CPU寄存器 32位x86架构的CPU有8个32位的通用寄存器(EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI),在汇编语言中可以 ………

阅读全文