有限状态机与分布式熔断器
前言
在微服务框架或者网关设计当中,为保证整体系统的可用性,避免某些服务出现问题后,服务间调用出现阻塞,耗尽资源,导致系统瘫痪,通常会实现熔断器模式,避免整个系统发生雪崩。
在分布式系统设计时候要使用一定的降级策略,来保证当服务提供方服务不可用时候,服务调用方可以切换到降级后的策略进行执行。
…在微服务框架或者网关设计当中,为保证整体系统的可用性,避免某些服务出现问题后,服务间调用出现阻塞,耗尽资源,导致系统瘫痪,通常会实现熔断器模式,避免整个系统发生雪崩。
在分布式系统设计时候要使用一定的降级策略,来保证当服务提供方服务不可用时候,服务调用方可以切换到降级后的策略进行执行。
…https://wayjam.me/posts/n1%E5%88%B7%E5%85%A5armbian/
我采用B站大佬人中日月的整合包:https://www.bilibili.com/video/BV1DJ411H7Nb(以下所说网盘内容都在这个视频简介内)。由于之前已经装上 Armbian 了,那当然要利用好(使用 YAAW for Chrome 导出到 Aira2 下载百度网盘)。
以下操作均在 N1 with Armbian 中操作
所有分卷下载完成后,解压出 IMG
apt-get install unrar
unrar e any-one-of-the-rar-file # 任意一分卷,所有分卷在同一目录
如果系统语言没有设置好,解压完成可能会有错误:
…由于想找点有趣的事情做,而且一直想玩玩家庭服务器,所以捡了一台 N1 做家庭服务器。由于卖家已经刷过 CoreELEC 了,所以不用再做降低等操作。
N1 作为去年矿渣的优秀代表,其硬件素质是非常过硬。N1 所用的 SOC 方案是晶晨 S905D,机器运行内存 2G,内置闪存 8G,相对于普通的 S905M,增加了 4K 60Hz 输出、VP9 硬解、HDR 以及千兆网卡。只是 USB 口都是 2.0,有点拉跨。并且在大神们的挖掘下玩法非常多样,既有传统 Armbian、也有专项应用系统:下载专用Linux 小钢炮、影音 CoreELEC、游戏 EmuELEC。玩家可以根据自己的喜好刷入对应的系统。
…分布式限流器实现一般有计数器、滑动窗口、漏桶、令牌桶等实现算法。以下是 Go 的一些实现:
令牌桶按照一定速率将令牌放入桶中,桶有最大容量,桶满时,不再新增令牌。如果桶中令牌少于申请的令牌数量,则会被限流,否则申请令牌成功。令牌桶限制的是平均流入速率(允许突发请求,只要有令牌就可以处理,支持一次拿 N 个令牌),并允许一定程度突发流量。
…在维护 Kubernetes 过程中,一开始是直接使用 kubectl
编辑集群资源,但毕竟需要归档编排,那么就需要一个配置管理工具。一开始尝试使用 Helm,但尝试过后发现我的使用场景并不适合 Helm。后来发现 Kustomize,那么先对比一下两款工具: