有限状态机与分布式熔断器

前言

在微服务框架或者网关设计当中,为保证整体系统的可用性,避免某些服务出现问题后,服务间调用出现阻塞,耗尽资源,导致系统瘫痪,通常会实现熔断器模式,避免整个系统发生雪崩。

在分布式系统设计时候要使用一定的降级策略,来保证当服务提供方服务不可用时候,服务调用方可以切换到降级后的策略进行执行。

「家庭娱乐」N1刷 EmuELEC 做游戏盒子

emuelec

前情

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刷 Armbian 做家庭服务器

前言

由于想找点有趣的事情做,而且一直想玩玩家庭服务器,所以捡了一台 N1 做家庭服务器。由于卖家已经刷过 CoreELEC 了,所以不用再做降低等操作。

N1 作为去年矿渣的优秀代表,其硬件素质是非常过硬。N1 所用的 SOC 方案是晶晨 S905D,机器运行内存 2G,内置闪存 8G,相对于普通的 S905M,增加了 4K 60Hz 输出、VP9 硬解、HDR 以及千兆网卡。只是 USB 口都是 2.0,有点拉跨。并且在大神们的挖掘下玩法非常多样,既有传统 Armbian、也有专项应用系统:下载专用Linux 小钢炮、影音 CoreELEC、游戏 EmuELEC。玩家可以根据自己的喜好刷入对应的系统。

分布式限流器之令牌桶实现

分布式限流器实现一般有计数器、滑动窗口、漏桶、令牌桶等实现算法。以下是 Go 的一些实现:

令牌桶

ratelimit-令牌桶

令牌桶按照一定速率将令牌放入桶中,桶有最大容量,桶满时,不再新增令牌。如果桶中令牌少于申请的令牌数量,则会被限流,否则申请令牌成功。令牌桶限制的是平均流入速率(允许突发请求,只要有令牌就可以处理,支持一次拿 N 个令牌),并允许一定程度突发流量。