Skip to content

Instantly share code, notes, and snippets.

View Wang-Kai's full-sized avatar
💭
Happy

Kai Wang-Kai

💭
Happy
View GitHub Profile
@Wang-Kai
Wang-Kai / ladon_vs_casbin.md
Last active April 29, 2024 10:40
ladon & casbin 两个 authorization 库的比较

通览了 casbin 的文档,结合先前对 AWS IAM 的理解,以及对 ladon SDK 的使用,总结对比一下 Ladon & Casbin 两个授权库。

1. 项目定位

先对比两个项目的简介:

ladon

A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go.

@Wang-Kai
Wang-Kai / think_in_coroutine.md
Created April 7, 2019 08:28
实现并发运行的几种方式的理解

在一本书上看到一句话:

用多进程实现分布式和负载均衡,减轻单进程垃圾回收压力;用多线程(LWP)抢夺更多的处理器资源;用 coroutine 来提高处理器时间碎片利用率。

这句话是我在《Go 语言笔记》上看到的,《操作系统》我读的不深,所以分享下我的理解,希望纠正和补充。

对于存在 GC 的语言来讲,这个进程不仅要处理业务逻辑,还要在背后做空闲资源的回收和释放。单 CPU 的计算能力有限,所以通过将任务分发到不同的进程(可能是 CPU 物理上都是分开的)上,可以减轻进程压力。

如果一个进程中有多个用户态线程,假使某个线程陷入 I/O 阻塞,该进程也会快速的切到其他线程,继续执行计算任务,而不是因为某个线程阻塞而该进程被操作系统换出运行态。