Computer-Science

用AWS EC2从零搭建Kubernetes和ArgoCD

在AWS上实现 Kubernetes 集群最简单的方法是走 EKS(Elastic Kubernetes Service)托管服务(managed service)。但后来发现 EKS 成本高昂,会有一笔跟 EC2 计算费用无关的起步价,仅仅来源于 EKS。为了学习(省钱),我们来用裸机 EC2 实例搭建 Kubernetes 集群,以及集成 ArgoCD 实现 CD (Continuous Deployment)。

...

AWS Well-Architected Framework

要用AWS搭建一个优秀的系统,根据官方资料和一些第三方讲义,我把要义总结为四个需求八个字:

安全可靠,物美价廉

可以用买房子来类比,四个需求的层级是不一样的。除此之外,还有两朵锦上添花,最后再议。

...

理解汉明码

汉明距离是两个等长字符串之间对应位置上不同字符的个数。在编码理论中,用来衡量两个码字之间的差异。 001101 的汉明距离是1。 对于一个码字间最短汉明距离为 m 的编码,它可以检测出 r 比特个错误只要满足以下关系:

1 + r ≤ m

...

一种处理 Golang 中链式通道的方法

当使用通道来串行化任务时,我们因此创建了一个异步流。在异步编程中很容易搞砸,尤其是有额外的要求时,比如超时和取消。 真实世界的例子,是从文件读取器逐行读取数据,然后传递给另一个异步工作的文本解析器。

我找到了一个通用模式,可以用易于理解的代码覆盖大多数这样的场景。

异步生产者后跟同步消费者。

...

用Golang理解几种设计模式

大部分模式都有一个共同点,那就是通过接口连接生产者和消费者。接口的抽象是关键,它反映了对底层类型的深刻理解。知道这一点可以简化事情,无论我们处理的是什么场景,或者使用的是什么语言。

至于为什么现在有这些模式,还有多少尚未被发现,以及背后的数学本质是什么,我也还无法回答。

...